it-swarm.com.de

wp_insert_term funktioniert nicht mit der Taxonomie eines benutzerdefinierten Beitragstyps

Hier ist das Problem, das ich habe:

  1. Ich habe einen benutzerdefinierten Beitragstyp namens "Hochzeitsgäste"
  2. Dieser benutzerdefinierte Beitragstyp "weddingguests" hat eine benutzerdefinierte Taxonomie, "friendsof", hierarchisch
  3. Ich möchte programmatisch in diese benutzerdefinierte Taxonomie "friendsof" 2 Begriffe einfügen: "Friends of the Bride" und "Friends of the Groom".

Hier ist die Funktion und die Aktion, die ich verwende, um einen Begriff einzufügen:

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

Das Problem: wp_insert_term scheint nicht mit meiner benutzerdefinierten Taxonomie zu funktionieren

Was ich ausprobiert habe:

  1. Ich habe versucht, die Taxonomie von hierarchisch auf nicht hierarchisch umzustellen - das hat nicht funktioniert
  2. Ich habe versucht, wp_insert_term (den gleichen Code) zu verwenden, um Begriffe zum Beitrag "Kategorie" hinzuzufügen - das funktioniert
  3. Ich habe versucht, den Posts die benutzerdefinierte Taxonomie "friendsof" zuzuweisen und dann meinen Begriff hinzuzufügen (ich dachte, es gibt ein Problem bei der Erstellung meiner benutzerdefinierten Post-Typen) - das hat nicht funktioniert
4
Gabriela

versuche init anstelle von after_setup_theme

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

add_action( 'init', 'example_insert_category' );
3
Mhon Lie

Ich weiß zwar nicht warum und habe im Moment keine Zeit zu recherchieren, aber der Haken, den Sie gewählt haben, ist zu früh. Ihr Code funktioniert, wenn Sie beispielsweise init anstelle von after_setup_theme verwenden.

Darüber hinaus wird Ihr Code, wie bereits geschrieben, bei jedem Seitenaufruf ausgeführt, was ein wenig verworren ist. Es sollte eine Möglichkeit geben, dies nur bei der Aktivierung des Plugins oder bei einer Änderung des Themas auszuführen. Dies verringert die Häufigkeit, mit der das Plugin ausgeführt wird. Vielleicht ist der beste Fall ein Button im Theme/Plugin, um "Defaults ausfüllen". Sobald dies ausgeführt wird, wird es nicht mehr benötigt, da sich die Daten in der Datenbank befinden.

2
s_ha_dum