Es kann kein neuer Beitrag innerhalb des benutzerdefinierten Beitragstyps erstellt werden

Ich habe eine benutzerdefinierte Beitragsart registriert und bei der Registrierung verwende ich …

if( !post_type_exists( 'email_template' ) ) { register_post_type( 'email_template', array( 'labels' => array( 'name' => _x( 'Email Templates', 'post type general name', 'mobile-dj-manager' ), 'singular_name' => _x( 'Email Template', 'post type singular name', 'mobile-dj-manager' ), 'menu_name' => _x( 'Email Templates', 'admin menu', 'mobile-dj-manager' ), 'name_admin_bar' => _x( 'Email Template', 'add new on admin bar', 'mobile-dj-manager' ), 'add_new' => __( 'Add Template', 'mobile-dj-manager' ), 'add_new_item' => __( 'Add New Template', 'mobile-dj-manager' ), 'new_item' => __( 'New Template', 'mobile-dj-manager' ), 'edit_item' => __( 'Edit Template', 'mobile-dj-manager' ), 'view_item' => __( 'View Template', 'mobile-dj-manager' ), 'all_items' => __( 'All Templates', 'mobile-dj-manager' ), 'search_items' => __( 'Search Templates', 'mobile-dj-manager' ), 'not_found' => __( 'No templates found.', 'mobile-dj-manager' ), 'not_found_in_trash' => __( 'No templates found in Trash.', 'mobile-dj-manager' ) ), 'description' => __( 'Email Templates for the Mobile DJ Manager plugin', 'mobile-dj-manager' ), 'public' => false, 'exclude_from_search' => true, 'publicly_queryable' => true, 'show_ui' => true, 'show_in_menu' => 'edit.php?post_type=email_template', 'show_in_admin_bar' => true, 'query_var' => true, 'rewrite' => array( 'slug' => 'email-template' ), 'capability_type' => 'mdjm_template', 'capabilities' => array( 'edit_post' => 'edit_mdjm_template', 'read_post' => 'read_mdjm_template', 'delete_post' => 'delete_mdjm_template', 'edit_posts' => 'edit_mdjm_templates', 'edit_others_posts' => 'edit_others_mdjm_templates', 'publish_posts' => 'publish_mdjm_templates', 'read_private_posts' => 'read_private_mdjm_templates' ), 'map_meta_cap' => true, 'has_archive' => true, 'hierarchical' => false, 'menu_position' => 5, 'supports' => array( 'title', 'editor', 'revisions' ) ) ); } 

um den Post-Typ zu registrieren.

Ich habe die Verwendung des User Role Editors bestätigt, dass mein Benutzer alle * _mdjm_template Caps hat und der Benutzer keinen neuen Post erstellen kann. Die einzige andere Kappe, die diese Rolle hat, ist “gelesen”. Die Schaltfläche Neuer Post wird angezeigt, aber wenn Sie darauf klicken, wird die Meldung “Sie verfügen nicht über ausreichende Berechtigungen zum Zugriff auf diese Seite” angezeigt. Botschaft.

Alle anderen functionen innerhalb dieses Post-Typs funktionieren einwandfrei. dh Der Benutzer kann alle Beiträge sehen und bearbeiten. Erstelle einfach keine neuen.

Was habe ich verpasst?

BEARBEITEN

Ich füge die Obergrenzen zu einer Benutzerrolle hinzu, die während der Aktivierung des Plugins unter Verwendung der folgenden …

 $role = get_role( 'my_role' ); $caps = array( 'mdjm_template_edit' => true, 'edit_mdjm_template' => true, 'read_mdjm_template' => true, 'delete_mdjm_template' => true, 'edit_mdjm_templates' => true, 'edit_others_mdjm_templates' => true, 'publish_mdjm_templates' => true, 'read_private_mdjm_templates' => true, 'edit_published_mdjm_templates' => true, 'edit_private_mdjm_templates' => true, 'delete_mdjm_templates' => true, 'delete_others_mdjm_templates' => true, 'delete_private_mdjm_templates' => true, 'delete_published_mdjm_templates' => true ); foreach( $caps as $cap => $val ) { if( empty( $val ) ) $role->remove_cap( $cap ); else $role->add_cap( $cap ); } 

Ausgabe von Benutzerobergrenzen in Fehlerprotokoll beim Versuch, neue Post zu erstellen *

Als Benutzer mit der entsprechenden Rolle current_user_can( '$cap' ) und current_user_can( '$cap' )

 mdjm_template_edit: Has Cap edit_mdjm_template: Does not have Cap read_mdjm_template: Does not have Cap delete_mdjm_template: Does not have Cap edit_mdjm_templates: Has Cap edit_others_mdjm_templates: Has Cap publish_mdjm_templates: Has Cap read_private_mdjm_templates: Has Cap edit_published_mdjm_templates: Has Cap edit_private_mdjm_templates: Has Cap delete_mdjm_templates: Has Cap delete_others_mdjm_templates: Has Cap delete_private_mdjm_templates: Has Cap delete_published_mdjm_templates: Has Cap 

Solutions Collecting From Web of "Es kann kein neuer Beitrag innerhalb des benutzerdefinierten Beitragstyps erstellt werden"