وردپرس قسمت شصت و چهارم

وردپرس قسمت شصت و چهارم

همچنین می‌توانید به راحتی شناسه‌های کاربران خاص را بررسی کنید تا تعیین کنید که آیا آنها فوق ادمین شبکه شما هستند یا خیر. برای این کار از تابع ()is_super_admin استفاده کنید.
<?php
$user_id = 1;
if ( is_super_admin( $user_id ) ) {
echo 'User is Super admin';
}
?>

بررسی مالک سایت

هر سایتی در شبکه Multisite شما صاحب سایتی دارد. این مالک با آدرس ایمیل مدیر ذخیره شده در گزینه های سایت تعریف می شود و زمانی تنظیم می شود که یک سایت جدید در شبکه شما ایجاد شود. اگر اجازه ثبت سایت باز را بدهید، کاربری که سایت را ایجاد کرده است به عنوان مالک سایت تعیین می شود. اگر سایت را در داشبورد ایجاد کرده اید، می توانید ایمیل مالک را در زمان ایجاد تنظیم کنید.
در برخی موارد، ممکن است بخواهید مالک سایت و اطلاعات کاربر مربوطه را بازیابی کنید. در زیر نمونه ای از نحوه انجام این کار آورده شده است:
<?php
$site_id = 3;
$admin_email = get_blog_option( $blog_id, 'admin_email' );
$user_info = get_user_by( 'email', $admin_email );
print_r( $user_info );
?>
ابتدا از تابع get_blog_option() برای بازیابی مقدار admin_email برای شناسه وبلاگ 3 استفاده کنید. سپس از تابع get_user_by() برای بازیابی اطلاعات کاربر بر اساس ایمیل مدیر استفاده کنید. این تابع شما را قادر می سازد تا داده های کاربر را با شناسه کاربر، اسلاگ، ایمیل یا ورود به سیستم بازیابی کنید. در این حالت، از ایمیل مدیریت برای بارگذاری اطلاعات کاربر استفاده کنید. نتایج در اینجا نشان داده شده است:
WP_User Object
(
[ID] => 3
[user_login] => freddy
[user_pass] => $P$B0VRNh0UbN/4YqMFB8fl3OZM2FGKfg1
[user_nicename] => Freddy Krueger
[user_email] => freddy@example.com
[user_url] =>
[user_registered] => 2019-10-31 19:00:00
[user_activation_key] =>
[user_status] => 0
[display_name] => Freddy
[spam] => 0
[deleted] => 0
[first_name] => Freddy
[last_name] => Krueger
[nickname] => fredster
[description] =>
[rich_editing] => true
[comment_shortcuts] => false
[admin_color] => fresh
[use_ssl] => 0
[aim] =>
[yim] =>
[jabber] =>
[source_domain] => example.com
[primary_blog] => 3
[wp_3_capabilities] => Array
(
[administrator] => 1
)
[wp_3_user_level] => 1
[user_firstname] => Freddy
[user_lastname] => Krueger
[user_description] =>
)
همانطور که می بینید، اطلاعات کاربری مفید زیادی برای اکانت مدیریت سایت بازگردانده می شود.

آمار شبکه

Multisite دارای چند عملکرد برای ایجاد آمار در مورد شبکه شما است. تابع get_user_count() تعداد کل کاربران ثبت شده در وردپرس را برمی گرداند. تابع get_blog_count() تعداد کل سایت های شبکه شما را برمی گرداند. همچنین می توانید از تابع get_sitestats() برای بازیابی هر دو مقدار در یک آرایه استفاده کنید.
<?php
$user_count = get_user_count();
echo '<p>Total users: ' .$user_count .'</p>';
$blog_count = get_blog_count();
echo '<p>Total sites: ' .$blog_count .'</p>';
$network_stats = get_sitestats();
print_r( $network_stats );
?>

طرحواره پایگاه داده

چند سایت وردپرس دارای یک طرح پایگاه داده متفاوت از وردپرس استاندارد است. هنگام به روز رسانی یا فعال کردن Multisite، وردپرس جداول لازم را در پایگاه داده شما ایجاد می کند تا از عملکرد Multisite پشتیبانی کند.

جداول چند سایت خاص

وردپرس تنظیمات جهانی Multisite را در جداول متمرکز ذخیره می کند. این جداول تنها زمانی نصب می شوند که Multisite فعال و نصب شده باشد، به استثنای wp_users و wp_usermeta.
➤➤ wp_blogs: هر سایت ایجاد شده در Multisite را ذخیره می کند
➤➤ wp_blogmeta: ابرداده های مختلف را در سطح جهانی برای هر سایتی که می خواهد داده را در اینجا ذخیره کند ذخیره می کند.