Ich habe einen benutzerdefinierten Beitragstyp, der den Zugriff auf bestimmte Rollen einschränken soll. Ich habe jedoch bereits Inhalte mit dem benutzerdefinierten Beitragstyp hinzugefügt und muss sie nun einschränken. Der Capability_Typ war "Post".
'capability_type' => 'post'
Was ist in Ordnung, wenn der Inhalt im Backend angezeigt wird? Sobald ich Funktionen hinzufüge, verschwindet der Inhalt aus dem Backend.
Ich habe versucht, den Fähigkeitstyp so anzupassen, dass er mehrere Definitionen enthält, um meine eigenen zu erstellen. Sobald ich jedoch die Fähigkeitstypen entferne oder ändere, ist sie verschwunden!
vollständiger Code:
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 );
}
Ich habe dies auch mit einem völlig neuen benutzerdefinierten Beitragstyp getestet und unabhängig vom Funktionstyp erhalte ich das gleiche Problem, z. B. auch wenn ich ihn entferne und meinen benutzerdefinierten hinzufüge:
'capability_type' => array('movie','movies');
add_theme_caps()
sollte nur einmal aufgerufen werden, nicht jedes Mal, wenn eine Admin-Seite geladen wird. Es wäre besser,switch_theme
als Hook für die Theme-Aktivierung oderregister_activation_hook
für die Plugin-Aktivierung zu verwenden.