وردپرس قسمت پنجاه و هفتم

وردپرس قسمت پنجاه و هفتم

وردپرس قسمت پنجاه و هفتم

<?php
function pdev_multisite_create_sites_page() {
//check if multisite is enabled
if ( is_multisite() ) {
مثل همیشه، قبل از استفاده از توابع خاص Multisite، باید بررسی کنید که Multisite فعال است. سپس کد را برای بازیابی فیلدهای فرم ارسال شده اضافه کنید و یک سایت جدید در شبکه با مقادیر ایجاد کنید.
<?php
//if the form was submitted lets process it
if ( isset( $_POST['create_site'] ) ) {
//populate the variables based on form values
$domain = sanitize_text_field( $_POST['domain'] );
$path = sanitize_text_field( $_POST['path'] );
$title = sanitize_text_field( $_POST['title'] );
$user_id = absint( $_POST['user_id'] );
//verify the required values are set
if ( $domain && $path && $title && $user_id ) {
//create the new site in WordPress
$new_site = wpmu_create_blog( $domain, $path,
$title, $user_id );
//if successfully display a message
if ( $new_site ) {
echo '<div class="notice notice-success is-dismissible">New site '
.$new_site. ' created successfully!</div>';
}
//if required values are not set display an error
} else {
echo '<div class="notice notice-error is-dismissible">
New site could not be created.
Required fields are missing</div>';
}
}
?>
ابتدا بررسی کنید که آیا $_POST['create_site'] تنظیم شده است یا خیر. این تنها در صورتی تنظیم می شود که فرم ارسال شده باشد. بعد متغیرها را بر اساس ورودی های فرم پر کنید. توجه داشته باشید که از توابع فرار مناسب برای تأیید اینکه داده های ارسال شده از فرم به درستی خارج شده اند استفاده می کنید.
سپس بررسی کنید که $domain، $path، $title، و $user_id دارای مقادیر هستند زیرا این فیلدها هنگام ایجاد سایت‌ها با استفاده از wpmu_create_blog() هستند. اگر مقادیر پر نشده باشند، یک پیام خطا نمایش داده می شود. پس از بررسی وجود تمام مقادیر، زمان اجرای تابع wpmu_create_blog() برای ایجاد سایت جدید است. اگر سایت با موفقیت ایجاد شود، متغیر $new_site حاوی شناسه سایت تازه ایجاد شده خواهد بود و یک پیام موفقیت آمیز نمایش داده خواهد شد. قطعه نهایی ایجاد فرم برای فیلدهای سایت جدید است.
<div class="wrap">
<h2>Create New Site</h2>
<form method="post">
<table class="form-table">
<tr valign="top">
<th scope="row">
<label for="fname">Domain</label>
</th>
<td><input maxlength="45" size="25" name="domain"
value="<?php echo DOMAIN_CURRENT_SITE; ?>"/>
</td>
</tr>
<tr valign="top">
<th scope="row"><label for="fname">Path</label></th>
<td>
<input maxlength="45" size="10" name="path"/>
</td>
</tr>
<tr valign="top">
<th scope="row">
<label for="fname">Title</label>
</th>
<td>
<input maxlength="45" size="25" name="title"/>
</td>
</tr>
<tr valign="top">
<th scope="row">
<label for="fname">User ID</label>
</th>
<td>
<input maxlength="45" size="3" name="user_id"/>
</td>
</tr>
<tr valign="top">
<td>
<input type="submit" name="create_site"
value="Create Site" class="button-primary"/>
<input type="submit" name="reset"
value="Reset" class="button-secondary"/>
</td>
</tr>
</table>
</form>
</div>
این یک فرم نسبتاً ابتدایی است که پارامترهای مورد نیاز برای ایجاد یک سایت جدید را می پذیرد.
<?php
/*
Plugin Name: Multisite Create Site Example Plugin
Plugin URI: http://example.com/wordpress-plugins/my-plugin
Description: A plugin to demonstrate creating sites in Multisite
Version: 1.0
Author: Brad Williams
Author URI: http://wrox.com
License: GPLv2
*/
add_action( 'admin_menu', 'pdev_multisite_create_menu' );
function pdev_multisite_create_menu() {
//create custom top-level menu
add_menu_page( 'Multisite Create Site Page',
'Multisite Create Site',
'manage_options', 'pdev-network-create',
'pdev_multisite_create_site_settings' );
function pdev_multisite_create_site_settings() {
//check if multisite is enabled
if ( is_multisite() ) {
//if the form was submitted lets process it