wordpress中的代码或插件(哪个具有更高的优先级)

时间:2016-06-23 08:21:41

标签: php wordpress web plugins

我的问题是关于一般情况。我已经为wordpress中的用户角色和功能编写了一些代码,并为此安装了一个插件。 什么时候我改变我的代码的功能,以赋予不起作用的角色更多的权利,但同时当我从插件更改功能,然后它正常工作。

所以我想知道 WP中是否有任何优先级机制来定义插件的优先级以及首先应用的插入代码。

这是代码 ...我正在使用角色编辑器插件

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');  

提前致谢

1 个答案:

答案 0 :(得分:0)

根据你的编辑,你要添加的2个动作来自插件。 wordpress加载插件没有设置顺序(主题加载晚于插件btw)。

这是行动的来源。

add_action('init','new_role'); 

add_action$priority$args还有2个参数。

优先级是默认值10所以所有添加的没有优先级的挂钩都会按顺序添加,所以如果你的插件是第一次加载,它将被稍后添加的操作覆盖。

解决这个问题的方法是添加更高优先级

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

可能需要花些时间来确保您的new_role功能是最后运行的功能。