Gancho de ativação do WordPress?

3

Eu conheço os muitos truques para ver se esse tema está ativado, eu vasculhei a internet. Eu não estou olhando para re-colagem desse código. O que eu estou procurando, porém, é o tempo ou não 3.3-3.5 lançou uma nova função que faz algo sobre theme_init, eu vi algum tipo de gancho, mas não me lembro onde, no códice, lidando com as coisas depois de um tema tem foi inicializado ..

Alguém sabe?

    
por TheWebs 16.02.2013 / 17:59

4 respostas

0

Você pode estar procurando o after_setup_theme hook:

enlace

    
por birgire 16.02.2013 / 18:07
13

Para qualquer um que tropeça nesta pergunta; existe uma ação que você pode conectar (adicionado 3.3.0) que é acionado apenas na ativação de um novo tema: after_switch_theme

add_action('after_switch_theme', 'mytheme_setup_options');

function mytheme_setup_options () {
  //doing a thing...
}

enlace

Para fazer algo sobre desativação de um tema, você pode usar a ação irmã: switch_theme

    
por sleepingkiwi 27.09.2014 / 21:33
3

Com os recursos de visualização do tema, é improvável que haja um gancho de ativação do tema, já que os temas precisam funcionar mesmo sem serem "ativados".

    
por Mark Kaplun 16.02.2013 / 18:21
1

Depois de tentar o método @sleepingkiwi, encontrei um problema. Um cliente pode tentar um tema diferente (mesmo que apenas por um momento), isso pode criar um problema devido ao fato de que o gancho "ativação do tema" que criamos foi executado duas vezes.

O melhor método é usar o after_switch_theme em conjunto com o "update_option" do Wordpress para salvar e depois verificar um aviso de ativação, tornando este método à prova de balas.

Exemplo:

add_action('after_switch_theme', 'sgx_activation_hook');
function sgx_activation_hook() {
    if(get_option('SOMEPREFIX_theme_activated') != '1') {

        update_option( 'SOMEPREFIX_theme_activated', '1' );

        // RUN THEME_ACTIVATION STUFF HERE

    }
}

Espero que isso ajude.

    
por Sagive SEO 18.09.2017 / 22:59

Tags