it-swarm.com.de

Legen Sie Begriffe in einem benutzerdefinierten Beitrag fest

Ich habe einen benutzerdefinierten Beitrag "Künstler" und eine Taxonomie/Kategorie "Künstlerkategorie", und ich möchte (durch Entwicklung) einen neuen Beitrag erstellen und die Kategorie des Künstlers festlegen, aber es funktioniert nicht.

Ich habe es mit diesem Code getestet:

function createNewPost( $response ){
    global $userMeta;

    $userID = $response->ID;
    $user = new WP_User( $userID );

    $role = $userMeta->getUserRole();
    //$catId = get_cat_ID("dj");

    if( $role = 'artiste' ){ 

        $newPost = array(
          'post_title'    => $user->nickname, 
          'post_content'  => $user->description,
          'post_status'   => 'pending',
          'post_author'   => $userID,
          'post_type'     => 'cpt_artists',
          'tax_input' => array('artist-category' => array('dj')
        ));

        $post_id = wp_insert_post( $newPost );

        wp_set_post_terms( $post_id, array( 'dj'), 'artist-category');

    }

}

Aber es funktioniert nicht.

Für den Test habe ich alle Taxonomien von WordPress aufgelistet und das Ergebnis ist:

category, post_tag, nav_menu, link_category, post_format

Warum ist meine benutzerdefinierte Taxonomie "Künstlerkategorie" hier nicht aufgeführt?

1
devwin

Ich weiß, dass dies eine alte Frage ist, aber das tax_input-Array sollte wahrscheinlich so aussehen, da es wie eine Kategorie hierarchisch zu sein scheint:

'tax_input' => array('artist-category' => array( 3 ) //use the ID of the category, not the name of the category

Aus WordPress Codex auf wp_set_post_terms

Wenn Sie Begriffe einer hierarchischen Taxonomie wie Kategorien eingeben möchten, verwenden Sie IDs. Wenn Sie nicht hierarchische Begriffe wie Tags hinzufügen möchten, verwenden Sie Namen.

Ressourcen:

1
ScottD

sie können so etwas versuchen: Zum Beispiel ist Ihre Kategorie-ID 3, dann:

wp_set_post_categories($post_id, array("3"));

für weitere Informationen

0
Dk-Macadamia