在添加角色和功能时,我应该挂钩到什么操作?

时间:2011-04-05 作者:Tom Auger

我将使用add\\u role()和$role->add\\u cap()设置新的自定义角色,并将新功能附加到现有角色。

我想知道在哪里做这件事最好?显然,我可以直接在函数内部完成。php并完成它。但这是最佳实践吗?我是否只需要在admin\\u init上执行此操作?还是应该在init上执行?

我不完全确定使用init action hook而不是在函数中直接调用函数的最佳实践是什么。php。

感谢您的投入!

2 个回复
最合适的回答,由SO网友:Bainternet 整理而成

添加角色和功能时,只需运行一次代码,因为使用时角色和功能会保存到数据库中add_role->add_cap 就像Andy说的那样after_setup_theme 对于此类操作,请添加某种检查,使其只运行一次,如register_activation_hook 或使用选项:

add_action(\'after_setup_theme\',\'my_add_role_function\');

function my_add_role_function(){
    $roles_set = get_option(\'my_roles_are_set\');
    if(!$roles_set){
        add_role(\'my_role\', \'my_roleUser\', array(
            \'read\' => true, // True allows that capability, False specifically removes it.
            \'edit_posts\' => true,
            \'delete_posts\' => true,
            \'upload_files\' => true 
        ));
        update_option(\'my_roles_are_set\',true);
    }
}

SO网友:Andy

对于插件,我成功地使用了plugins_loaded 为了这个。对于主题,我会使用after_setup_theme.

结束

相关推荐

Custom Post Row Actions

我偶然发现this question 在写这个问题的时候。我有一个问题是关于这个问题的。我发现你用的是get_delete_post_link 筛选为我的操作创建一个新的url(或一个类似的函数——在任何情况下,我都会将该函数与布尔值一起使用)。唯一的问题是,I don\'t know how to capture the event now. 考虑到我在谷歌上找不到很多关于行后操作的例子,我将不胜感激-/public function _wp_filter_get_delete_post_link( $