<?php
$network_id= 3;
echo '<p>Network ID: '.$network_id.'</p>';
echo '<p>Network Name: ' .get_network_option( $network_id, 'sitename' )
.'</p>';
echo '<p>Network URL: ' .get_network_option( $network_id, 'siteurl' ) .'</p>';
?>
متای سایت
متای سایت در Multisite به صورت جهانی ذخیره میشود و یک روش فوقالعاده مفید برای افزودن دادهها به سایتها به گونهای است که میتوان در چندین سایت جستجو کرد، در حالی که گزینههای شبکه میتواند فقط در هر سایت باشد و نیاز به تغییر سایت برای جمعآوری آنها دارد.
➤➤ add_site_meta(): ابرداده جدید ایجاد می کند
➤➤ update_site_meta(): متادیتا را به روز می کند و اگر وجود نداشته باشد آن را ایجاد می کند.
➤➤ get_site_meta(): ابرداده هایی را که از قبل وجود دارد بارگیری می کند
➤➤ delete_site_meta(): ابرداده را حذف می کند
این توابع از Metadata API در داخل وردپرس استفاده میکنند تا پرس و جو و ذخیرهسازی این مقادیر دلخواه را به یک نسیم مطلق تبدیل کنند.
<?php add_site_meta( $site_id, $key, $value ); ?>
مقدار $site_id شناسه سایتی است که می خواهید متادیتا را به آن اضافه کنید. مقدار key $ نام فراداده است و $value مقدار داده جدید است.
بارگیری ابرداده های سایت به همین سادگی است. با استفاده از تابع get_site_Meta() میتوانید هر متادیتای خاص سایت مورد نیاز را بارگیری کنید. وردپرس در حال حاضر هیچ داده ای را به تنهایی در این جدول ذخیره نمی کند. این به سادگی به عنوان راهی برای گسترش سایت ها در سطح جهانی وجود دارد.
کاربران و نقش ها
کاربران کمی متفاوت از وردپرس استاندارد کار می کنند. اگر Allow New Registrations در تنظیمات شبکه فعال باشد، بازدیدکنندگان سایت شما می توانند حساب های جدید ثبت کنند. تفاوت عمده این است که هر سایتی در شبکه شما بر اساس افرادی که به آن سایتها دسترسی دارند، مجموعهای از کاربران متفاوت خواهد داشت. کاربران همچنین می توانند نقش های متفاوتی در سایت های مختلف در سراسر شبکه داشته باشند. کاربران به طور خودکار اعضای هر سایتی در شبکه شما نیستند.
قبل از اجرای هر کدی که مختص سایت است، باید بررسی کنید که کاربری که وارد سایت شده است، عضو آن سایت باشد. Multisite دارای چندین عملکرد برای کار با کاربران است. برای تأیید اینکه یک کاربر عضو سایت است، از تابع ()is_user_member_of_blog استفاده کنید.
<?php is_user_member_of_blog( 0, $site_id ) ?>
این تابع دو پارامتر $user_id و $site_id را می پذیرد که هر دو اختیاری هستند. اگر پارامترها مشخص نشده باشند، به طور پیش فرض برای کاربر وارد شده فعلی و سایت فعلی که در آن هستید قرار می گیرد.
<?php
if ( is_user_member_of_blog() ) {
//user is a member of this site
}
?>
اگر می خواهید تأیید کنید که یک کاربر عضو این سایت است، می توانید یک شناسه کاربری را مشخص کنید.
<?php
if ( is_user_member_of_blog( 42 ) ) {
//user 42 is a member of this site
}
?>
همچنین اگر میخواهید تأیید کنید که کاربر عضو یک سایت خاص است، میتوانید شناسه وبلاگ را نیز مشخص کنید.
<?php
if ( is_user_member_of_blog( 42, 3 ) ) {
//user 42 is a member of site ID 3
}
?>
اکنون که فهمیدید چگونه می توانید بررسی کنید که آیا کاربر عضو یک سایت است، بیایید نحوه افزودن اعضا به یک سایت را بررسی کنیم. در Multisite، از تابع add_user_to_blog() برای اضافه کردن هر کاربری در وردپرس به یک سایت خاص در شبکه خود استفاده می کنید.