プログラムでコンマ付きのタグを保存することは可能であり、非常に簡単です。
を呼び出すときwp_set_post_terms( $post_id, $terms, $taxonomy )
、文字列を指定すると、配列に展開されます。を$terms
配列として指定すると、配列内の各アイテムは、複数の用語に分割されることなく、独自の用語として提供されます。
// Example term with comma.
$terms = 'Surname, Given Names';
// Creates and/or assigns multiple terms separated by a comma.
wp_set_post_terms( $post_id, $terms, $taxonomy );
// Creates and/or assigns a single term with a comma.
wp_set_post_terms( $post_id, (array) $terms, $taxonomy );
が設定されている場合、両方wp_insert_post
をwp_update_post
使用します。wp_set_post_terms
$arg
tax_input
// Ensure $terms is an array.
$args['tax_input'][$taxonomy] = (array) $terms;
$post_id = wp_insert_post( $args );
WordPressダッシュボードUIを使用してオンザフライで用語を作成する最良の方法では、単一の用語としてカンマを含む任意の文字列を送信する独自のメタボックスを作成する必要があります。ACF Proなどの一部のプラグインは、カスタムフィールドを作成して分類法を保存するときにデフォルトでこれを行い、保存時に用語をロードして割り当てることも選択します。
/* Example JSON config snippet for an ACF Pro Export/Import. */
/* Most likely config for most of these situations: "allow_null" */
/* and "field_type" may need to be adjusted depending on the situation. */
{
"type": "taxonomy",
"field_type": "multi_select",
"allow_null": 1,
"add_term": 1,
"save_terms": 1,
"load_terms": 1
}
コンマを使用して保存した場合でも、投稿を編集すると、コンマを含む用語の各部分が個別のアイテムとして表示される場合があります。この場合、デフォルトのUIを無効にして、カスタムメタボックスに依存するのが最善かもしれません。これは、投稿タイプの編集時に画面オプションを使用して実行できます。カスタム分類は、登録時にクイック編集セクションから非表示にすることもできます。
// Register Custom Taxonomy args - disable default UI in quick edit.
$args['show_in_quick_edit'] = false;
register_taxonomy( $taxonomy, (array) $post_types, $args );