Die Kategorie eines Beitrags festlegen

Ich erstelle neue Kategorien mit Taxonomie für Galerien :

$wpdb->insert("wpem_terms", array( 'name'=>'Custom Category', 'slug'=>'customcategory', 'term_group'=>0, )); //id of term $id = $wpdb->insert_id; $wpdb->insert("wpem_term_taxonomy", array( 'term_id'=>$id, 'taxonomy'=>'galleries', 'description'=>'', 'parent'=>'', 'count'=>'', )); 

Es funktioniert. Und dann versuche ich einen neuen Beitrag mit dieser neu erstellten Kategorie zu veröffentlichen:

 wp_insert_post(array( 'post_author'=>1, 'post_date'=>date('Ymd H:i:s'), 'post_date_gmt'=>date('Ymd H:i:s'), 'post_content'=>'', 'post_title'=>'', 'post_excerpt'=>'', 'post_status'=>'publish', 'comment_status'=>'closed', 'post_name'=>'', 'post_parent'=>0, 'post_type'=>'portfolio', // with 'portfolio' custom post type 'post_category'=>array($id), )); 

Dies ist ein Veröffentlichungspost, es ist in Ordnung, aber die Postkategorie ist keine benutzerdefinierte Kategorie . Ich denke, diese Zeile ist ungültig:

 'post_category'=>array($id), 

Irgendwelche Ideen? Auch ich habe es versucht:

 'post_category'=>array(get_cat_ID("Custom Category")), 

Solutions Collecting From Web of "Die Kategorie eines Beitrags festlegen"

Versuchen Sie Folgendes:

 $insert_post = wp_insert_post(array( 'post_author'=>1, 'post_date'=>date('Ymd H:i:s'), 'post_date_gmt'=>date('Ymd H:i:s'), 'post_content'=>'', 'post_title'=>'', 'post_excerpt'=>'', 'post_status'=>'publish', 'comment_status'=>'closed', 'post_name'=>'', 'post_parent'=>0, 'post_type'=>'portfolio', // with 'portfolio' custom post type 'post_category'=>array($id), )); if( $insert_post ) { wp_set_object_terms( $insert_post, intval( $id ), 'galleries'); } 

Mit wp_set_object_terms Sie die Bedingungen für den Post in jeder Taxonomie wp_set_object_terms . Das erste Argument ist die ID des Posts , das zweite Argument ist die ID oder der Slug des Terms und der dritte ist der Name der Taxonomie . Wenn Sie eine ID für den Begriff verwenden, müssen Sie intval() andernfalls wird ein Begriff erstellt, der nur eine Zahl ist.