2016-06-23 9 views
-1

meine Frage ist über ein allgemeines Szenario. Ich habe Code für Benutzerrolle und Fähigkeiten in Wordpress geschrieben und installiere auch ein Plugin dafür. Wenn ich meinen Code für Funktionen ändere, um mehr Rechte für die Rolle zu geben, die nicht funktioniert, aber zur gleichen Zeit, wenn ich die Fähigkeiten vom Plugin ändere, dann funktioniert es richtig.Code oder Plugin (welche eine höhere Priorität haben) in WordPress

Deshalb möchte ich Gibt es einen Prioritätsmechanismus in WP wissen, welche die Priorität für das Plugin und der Code definiert, was man zuerst angewendet wird.

hier ist der Code ... und ich bin mit Rolle Editor-Plugin

function new_role() 
{ 
    add_role('simple_role','Simple Role',array(
    'read'    =>true, 
    'edit_posts'   =>true, 
    'publish_posts'  =>true, 
    'delete_posts'  =>true, 
    'upload_files'  =>true, 
    'create_users'  =>true, 
    'edit_others_posts' =>true, 
    'delete_others_posts'=>true, 
    'edit_themes'=>true 
     )); 

    add_role('client','Author Role',array('read'=>true, 'edit_posts'=>true,'edit_others_posts'=>true,'delete_posts'=>true));  

    add_role('just_edit','Just Edit',array('read'=>true, 'edit_published_posts'=>true, 'edit_others_posts'=>true, 'edit_posts'=>true, 'create_users'=>true, 'list_users'=>true)); 
     } 
add_action('init','new_role'); 

Dank im Voraus

+0

'der Code' ... WO ??? – David

Antwort

0

Nach Ihrer bearbeiten die zwei Aktionen Sie hinzufügen, von Plugins ist. Es gibt keine Reihenfolge, in der WordPress Plugins lädt (Themen werden später als Plugins BTW geladen). Diese

ist, wo Aktionen kommen in.

add_action('init','new_role'); 

Es gibt 2 weitere Argumente für add_action, $priority und $args.

Priorität ist Standard 10, also werden alle Hooks, die ohne Priorität hinzugefügt wurden, in der Reihenfolge aufgerufen, wenn Ihr Plugin als 1. geladen wird, wird es durch eine Aktion überschrieben, die später hinzugefügt wird.

Die Art und Weise, dies zu umgehen ist eine spätere Priorität mit

add_action('init','new_role', 100); 

Es könnte nehmen Sie sich etwas herumspielen hinzuzufügen derjenige, um sicherzustellen, Ihre new_role Funktion zuletzt ausgeführt wird.

Verwandte Themen