wp_insert_term não funciona com a taxonomia do tipo de postagem personalizada

4

Aqui está o problema que estou tendo:

  1. Eu tenho um tipo de postagem personalizado chamado "weddingguests"
  2. Esse tipo de postagem personalizada "weddingguests" tem uma taxonomia personalizada, "friendsof", hierárquica
  3. Eu quero inserir programaticamente nesta taxonomia personalizada "friendsof" dois termos: "Amigos da Noiva" e "Amigos do Noivo"

Aqui está a função e a ação que estou usando para inserir um termo:

// programatically add 2 terms to the taxonomy "FRIENDS OF"
function example_insert_category() {
    wp_insert_term(
        'Example Category',
        'friendsof'
    );
}
add_action( 'after_setup_theme', 'example_insert_category' );

O problema: o wp_insert_term não parece estar funcionando com minha taxonomia personalizada

O que tentei:

  1. Tentei mudar a taxonomia de hierárquica para não hierárquica - isso não funcionou
  2. Eu tentei usar o wp_insert_term (o mesmo código) para adicionar termos à postagem "categoria" - que está funcionando
  3. Eu tentei atribuir a taxonomia personalizada "friendsof" às postagens e, em seguida, adicionar meu termo (achei que há um problema com a maneira como estou construindo meus tipos de postagem personalizados) - isso não funcionou
por Gabriela 06.03.2014 / 12:14

2 respostas

3

tente init em vez de after_setup_theme

function example_insert_category() {
    wp_insert_term(
        'Example Category',
        'friendsof'
    );
}

add_action( 'init', 'example_insert_category' );
    
por Mhon Lie 03.04.2015 / 20:31
2

Embora eu não saiba por que e não tenha tempo para investigar agora, o gancho que você escolheu é muito cedo. Seu código funciona se você usar, por exemplo, init em vez de after_setup_theme .

Além disso, conforme escrito, seu código é executado em cada carregamento de página que é um pouco perdulário. Deve haver uma maneira de executar isso apenas na ativação do plugin ou talvez em uma mudança de tema - algo que reduz a freqüência que isso executa. Talvez o melhor caso seja um botão no tema / plugin para "Preencher Padrões". Uma vez que isso seja executado uma vez, não será mais necessário, pois os dados estão no banco de dados.

    
por s_ha_dum 06.03.2014 / 16:04