Em qual ação devo me ligar quando adicionar funções e capacidades?

8

Vou usar add_role () e $ role- > add_cap () para configurar uma nova função personalizada e anexar um novo recurso às funções existentes.

Eu estou querendo saber onde o melhor lugar para fazer isso é? Obviamente eu posso fazer isso diretamente dentro de functions.php e acabar com isso. Mas esta é a melhor prática? Eu só preciso fazer isso em admin_init? ou devo fazer no init?

Eu não tenho certeza quais são as melhores práticas em torno de usar ganchos de ação de inicialização, em vez de simplesmente descartar uma chamada de função direta dentro de functions.php.

obrigado pela sua contribuição!

    
por Tom Auger 05.04.2011 / 22:18

2 respostas

10

Ao adicionar uma função e recursos, você só precisa executar o código uma vez, pois as funções e os recursos são salvos no banco de dados ao usar add_role ou ->add_cap funções, assim como Andy disse que você pode usar after_setup_theme para isso tipo de ação, mas adicione algum tipo de verificação para que seja executada apenas uma vez, como register_activation_hook ou usando opções:

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);
    }
}
    
por Bainternet 05.04.2011 / 23:23
5

Para plugins, tive sucesso usando plugins_loaded para isso. Para temas, eu usaria after_setup_theme .

    
por Andy 05.04.2011 / 22:29