投稿カテゴリを割り当てるためにカスタムフィールドを使用することは可能ですか?
例えば:
私のカスタム投稿タイプGenres
へのTvseries
カスタムフィールドがあります。
それから私は入りました:アクション、ドラマ、コメディ
保存または公開すると、入力/カスタムフィールドに入力した3つのカテゴリが割り当てられます。
save_post
にフックしてwp_set_object_terms()
を使ってカテゴリを設定する必要があります。
// Add an action to run on post save
add_action( 'save_post', 'set_genre_on_save' );
function set_genre_on_save( $post_id ){
// Check the post type
if (is_single('tvseries')) {
// Get the custom field data
$custom_field_data = get_post_custom( $post_id );
// Check if there is any genres entered in the metabox
if (isset($custom_box_data['genre'])) {
// Save the genre data (separated by comma) into an array
$genre_array = explode( ',', $custom_box_data['genre'] );
//Set the array values to lower case
foreach ($genre_array as $genre){
$genre = strtolower($genre);
}
// Set the categories for these genres
wp_set_object_terms( $post_id, $genre_array, 'category' );
}
}
}
あなたはあなたのカテゴリーのslug
かID
をフィールドに入力するべきです。たとえば、War Movies
は機能しませんが、war-movies
は機能します。また、値の間に空白を入れないでください(または','
を' ,'
に変更する必要があります)。
コードを投稿していないので、これは単なる例です。カスタムフィールド/投稿タイプに合わせて、genres
などの値を変更する必要があるかもしれません。