2016-06-14 9 views
0

Wie kann ich bestimmte Tags für meine benutzerdefinierten Beitragstypen programmgesteuert mit WordPress blockieren?Wie Tags programmgesteuert auf Wordpress zu blockieren?

Ich weiß über die Funktion if (current_user_can()), aber ich bin mir nicht sicher, was ich in die geschweiften Klammern setzen soll, um eine bestimmte Benutzerrolle daran zu hindern, auf alle Elemente dieses Tags zuzugreifen.

+0

Wenn Sie Ihren Beitragstyp registrieren, können Sie definieren, welche Funktionen erforderlich sind, damit Benutzer bestimmte Aktionen mit Ihren benutzerdefinierten Beitragstypen ausführen können. https://codex.wordpress.org/Function_Reference/register_post_type#capability_type Ich würde jedoch empfehlen, das Mitglieder-Plugin hier zu verwenden: https://en-ca.wordpress.org/plugins/members/, da es die Dinge viel einfacher macht. – Jrod

+0

Danke. Weißt du, wie man es für Tags blockiert? Ich erkannte, dass ich speziell nach Tag, nicht nur benutzerdefinierte Post-Typ blockieren muss. Ich habe meinen Beitrag bearbeitet. Ich versuche Plugins zu vermeiden. – als26

Antwort

1

Wenn Sie Ihre Taxonomie registrieren, setzen Sie das Argument capabilites, um benutzerdefinierte Funktionen für die verschiedenen Aktionen zu erstellen.

würde ich so etwas wie folgt aussehen:

$args = array(
     'labels'   => $labels, 
     'public'   => true, 
     'show_in_nav_menus' => true, 
     'show_admin_column' => false, 
     'hierarchical'  => false, 
     'show_tagcloud'  => true, 
     'show_ui'   => true, 
     'query_var'   => true, 
     'rewrite'   => true, 
     'capabilities'  => array(
      'manage_terms' => 'manage_my_tax', 
      'edit_terms' => 'manage_my_tax', 
      'delete_terms' => 'manage_my_tax', 
      'assign_terms' => 'edit_my_tax', 
     ), 
    ); 

    register_taxonomy('taxonomy-slug', array('post'), $args); 

In den oben ich die Fähigkeiten basierend auf den Standardfunktionen festgelegt haben, die von Wordpress zugeordnet sind, die sind:

'manage_terms' => 'manage_categories' 
'edit_terms' => 'manage_categories' 
'delete_terms' => 'manage_categories' 
'assign_terms' => 'edit_posts' 

Nachdem Sie Erstellen Sie die benutzerdefinierten Funktionen verwenden Sie die Members plugin zu zuweisen, welche Rollen diese Funktionen ausführen können. Wenn das Plugin installiert ist, gehen Sie zu Benutzer> Rollen. Wählen Sie die Rolle aus, die Sie steuern möchten, und gehen Sie dann Taxonomies und legen Sie die Funktionen für diese Rolle fest.

Verwandte Themen