Saya memiliki jenis posting khusus yang ingin saya batasi akses ke peran tertentu. Namun, saya sudah menambahkan konten menggunakan jenis posting kustom dan sekarang saya harus membuatnya terbatas. Kapabilitas_type adalah 'posting'
'capability_type' => 'post'
Namun yang manakah yang baik sebagai konten muncul di backend, sekarang segera setelah saya menambahkan kemampuan konten menghilang dari backend?
Saya sudah mencoba menyesuaikan tipe kemampuan untuk memasukkan definisi jamak untuk membuat sendiri, tetapi segera setelah saya menghapus atau mengubah tipe kemampuan, itu hilang!
kode lengkap:
add_action( 'init', 'register_cpt_gallery' );
function register_cpt_gallery() {
$labels = array(
'name' => _x( 'Galleries', 'gallery' ),
'singular_name' => _x( 'Gallery', 'gallery' ),
'add_new' => _x( 'Add New', 'gallery' ),
'add_new_item' => _x( 'Add New Gallery', 'gallery' ),
'edit_item' => _x( 'Edit Gallery', 'gallery' ),
'new_item' => _x( 'New Gallery', 'gallery' ),
'view_item' => _x( 'View Gallery', 'gallery' ),
'search_items' => _x( 'Search Galleries', 'gallery' ),
'not_found' => _x( 'No galleries found', 'gallery' ),
'not_found_in_trash' => _x( 'No galleries found in Trash', 'gallery' ),
'parent_item_colon' => _x( 'Parent Gallery:', 'gallery' ),
'menu_name' => _x( 'Galleries', 'gallery' ),
);
$args = array(
'labels' => $labels,
'hierarchical' => true,
'description' => 'Image galleries for teachers classes',
'supports' => array( 'title', 'editor', 'author'),
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'menu_icon' => get_bloginfo('template_url') . '/images/imagegallery.png',
'show_in_nav_menus' => true,
'publicly_queryable' => true,
'exclude_from_search' => false,
'has_archive' => true,
'query_var' => true,
'can_export' => true,
'rewrite' => true,
'capability_type' => 'post',
'capabilities' => array(
'edit_post' => 'edit_gallery',
'edit_posts' => 'edit_galleries',
'edit_others_posts' => 'edit_other_galleries',
'publish_posts' => 'publish_galleries',
'read_post' => 'read_gallery',
'read_private_posts' => 'read_private_galleries',
'delete_post' => 'delete_gallery'
)
);
register_post_type( 'gallery', $args );
}
Saya juga telah menguji ini dengan jenis posting kustom yang sama sekali baru dan terlepas dari jenis kemampuan saya mendapatkan masalah yang sama misalnya bahkan jika saya menghapusnya dan menambahkan yang khusus saya:
'capability_type' => array('movie','movies');
sumber
add_theme_caps()
harus dipanggil satu kali saja, tidak setiap kali halaman admin dimuat. Akan lebih baik digunakanswitch_theme
sebagai hook untuk aktivasi tema atauregister_activation_hook
aktivasi plugin.Menambahkan:
ke array $ args Anda. Lihat di sini , untuk lebih banyak. Semoga ini bisa membantu!
sumber
IMHO Anda tidak pernah memetakan kemampuan Anda sendiri. Pastikan untuk menggunakan plugin meta cap peta untuk melakukannya. http://codex.wordpress.org/Function_Reference/map_meta_cap
Saya menghabiskan waktu berhari-hari untuk memetakan topi khusus saya secara manual dengan kode. Cukup instal plugin itu, petakan topi Anda dan nonaktifkan sekali berfungsi. Jika membuat peran khusus, Anda AKAN membutuhkan plugin Anggota .
Cara saya menguji untuk membuat yakin peran saya memiliki kapabilit tersebut (kadang-kadang Anda bersumpah Anda melakukannya tetapi tidak benar-benar) membuat halaman debugging dengan:
Ini akan menunjukkan kepada Anda kemampuan yang sebenarnya Anda miliki.
sumber
Untuk Jenis Pos Kustom, Saya TIDAK menyarankan menggunakan kait:
alih-alih saya sarankan menggunakan:
sumber