カスタム投稿 "artist"と分類/カテゴリ "artist category"があります。新しい投稿を(開発により)作成して、そのアーティストのカテゴリを設定したいのですが、うまくいきません。
私はこのコードでそれをテストしました:
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');
}
}
しかし、うまくいきません。
テストのために、私はwordpressのすべての分類法をリストアップしました、そして結果は以下の通りです。
category、post_tag、nav_menu、link_category、post_format
カスタム分類法 "artist-category"がここに表示されないのはなぜですか?
これは古い質問ですが、tax_input
配列はカテゴリのように階層的に見えるため、おそらく次のようになります。
'tax_input' => array('artist-category' => array( 3 ) //use the ID of the category, not the name of the category
wp_set_post_terms
のWordPressコーデックスから
カテゴリなどの階層分類の用語を入力する場合は、IDを使用してください。タグのような非階層的な用語を追加したい場合は、名前を使用してください。
リソース: