محدود کردن کاربران به دیدن مطالب خود در پنل وردپرس

نوشته شده توسط ۹ سال پیش

شاید تا بحال خواسته باشید که بعضی از نویسنده های سایت شما در پنل وردپرس، فقط مطالب ارسالی خودشون رو ببینند.
برای اینکار، کد زیر رو در آخر فایل funections.php قالب خودتون قرار بدید:

function mypo_parse_query_useronly( $wp_query ) {
if ( strpos( $_SERVER[ 'REQUEST_URI' ], '/wp-admin/edit.php' ) !== false ) {
         if ( !current_user_can( ' /*تعیین کننده نوع نقش کاربر*/ ' ) ) {
                 global $current_user;
                 $wp_query->set( 'author', $current_user->id );
         }
}
}
add_filter('parse_query', 'mypo_parse_query_useronly' );

حالا باید مشخص کنیم چه کسایی مستثنی هستند از کسایی که باید فقط مطلب های ارسالی خودشون رو ببینید.
برای اینکا توی قسمت مشخص شده ی کد بالا، سطح مورد نظر رو میذاریم.

بطور مثال برای اینکه بجز مدیر سایت، بقیه نقش های کاربری محدود بشن، داخل جای تعیین شده ی کد بالا مینویسیم  level_10 و اون خط به این شکل درمیاد:

         if ( !current_user_can( 'level_10' ) ) {

حالا اگر بخوایم چند تا از نقش های دیگه رو هم از این محدودیت خارج کنیم، تعیین میکنیم که تا چه سطحی اجازه دسترسی ندارند.
ویرایشگر در سطح ۷ هست. و اگر level_7 رو جاگذاری کنیم، مدیر و ویرایشگر از محدودیت خاج میشن.

مرتضی گرانسایه


ارسال دیدگاه شما