it-swarm.com.de

Dynamisches Erstellen von Begriffen in Taxonomie, wenn ein benutzerdefinierter Beitragstyp veröffentlicht wird. Fast dort!

Ich versuche, automatisch Begriffe in einer bestimmten Taxonomie zu erstellen, wenn ein bestimmter benutzerdefinierter Beitragstyp veröffentlicht wird. Der neu erstellte Begriff muss der Name des veröffentlichten Posts sein.

Beispiel: Ich habe einen benutzerdefinierten Beitragstyp "country" und eine benutzerdefinierte Taxonomie "country_taxo". Wenn ich ein Land veröffentliche, das "Kenia" sagt, möchte ich, dass der Begriff "Kenia" automatisch unter der Taxonomie "country_taxo" erstellt wird.

Ich habe dies mit dem Aktions-Hook "publish_ (custom_post_type)" erreicht, kann es aber nur statisch zum Laufen bringen. Beispiel:

// This snippet adds the term "Kenya" to "country_taxo" taxonomy whenever 
// a country custom post type is published.

add_action('publish_country', 'add_country_term');
function add_country_term() {
    wp_insert_term( 'Keyna', 'country_taxo');
}

Wie ich oben erwähnte, brauche ich dies, um den Post-Titel dynamisch als Begriff hinzuzufügen. Ich habe es versucht, aber es funktioniert nicht:

add_action('publish_country', 'add_country_term');
function add_country_term($post_ID) {
    global $wpdb;
    $country_post_name = $post->post_name;
    wp_insert_term( $country_post_name, 'country_taxo');
}

Weiß jemand, wie ich das machen würde? Jede Hilfe wird sehr geschätzt.

3
Duane

Sie sind fast da - das Problem ist, dass Sie versuchen, auf das $post Objekt zuzugreifen , wenn die Funktion nur die postIDempfängt.

add_action( 'publish_country', 'add_country_term' );
function add_country_term( $post_ID ) {
    $post = get_post( $post_ID ); // get post object
    wp_insert_term( $post->post_title, 'country_taxo' );
}
1
TheDeadMedic