تعریف دسترسی برای یک کاستوم پست تایپ
گاهی اوقات نیاز داریم دسترسی تعریق کنیم که یک کاربر فقط به یک پست تایپ خاص دسترسی داشته باشد.برای این کار با استفاده از خاصیت capabilities در register_post_type برای ان استفاده میکنیم مقدار پیشفرض این خاصیت
‘capabilities’ => array(
‘edit_post’ => ‘edit_post’,
‘read_post’ => ‘read_post’,
‘delete_post’ => ‘delete_post’,
‘edit_posts’ => ‘edit_posts’,
‘edit_others_posts’ => ‘edit_others_posts’,
‘publish_posts’ => ‘publish_posts’,
‘read_private_posts’ => ‘read_private_posts’,
‘create_posts’ => ‘create_posts’,
),
نام قابلیت جدید را persian میگذاریم
$args = array(
‘public’ => true,
‘labels’ => array(
‘name’ => ‘پست تایپ’,
),
‘menu_icon’ => ‘dashicons-book’,
‘show_in_menu’ => true,
‘capabilities’ => array(
‘read_post’ => ‘read_persian’,
‘edit_post’ => ‘edit_persian’,
‘edit_posts’ => ‘edit_persians’,
‘edit_others_posts’ => ‘edit_other_persians’,
‘publish_posts’ => ‘publish_persians’,
‘read_private_posts’ => ‘read_private_persians’,
‘delete_post’ => ‘delete_persian’
)
);
register_post_type( ‘post_type’, $args );
خب حالا کافیه این دسترسیها رو به نقش یا نقشهای مورد نظرمون بدیم مثلا میخوایم این دسترسی رو به کاربرها با نقش ادمین و نقشی که ساختیم بنام پشتیبان بدیم
$roles = [‘administrator’,’support’];
foreach($roles as $role){
$role = get_role($role);
$role->add_cap( ‘read_persian’);
$role->add_cap( ‘edit_persian’ );
$role->add_cap( ‘edit_persians’ );
$role->add_cap( ‘edit_other_persians’ );
$role->add_cap( ‘edit_published_persians’ );
$role->add_cap( ‘publish_persians’ );
$role->add_cap( ‘read_private_persians’ );
$role->add_cap( ‘delete_persian’ );
}
دلفی، php,wordpress,python,jquery و دیگر هیچ
موسس مجموعه مبین قاسم پور ۱۳۶۳-۱۴۰۵ معروف به LordViper عزیزی که دیگر در جمع ما نیست ولی نوشتههاش هنوز هست، یادش گرامی ولی دسترنج ایشون همچون پلاگین های پارسی دیت در اختیار همگان هستش
شاید امروز جواب خیلی از سؤالها را بتوان از AI گرفت، اما تولید مطالب تخصصی، تجربهمحور و عمیق هنوز به انگیزه نیاز دارد. این نظرات و بازخوردهای شماست که به ما نشان میدهد ادامه دادن این مسیر ارزشمند است.
دیدگاه شما چیست؟