前提・実現したいこと
複数のカスタム投稿タイプごとにデフォルトで選択するタームを指定したいです
以下のコードを参考にしました
WordPress でデフォルトのカスタム分類のタームを自動で指定する
下記のように3つのカスタム投稿タイプがある場合どのように関数を繰り返せばよろしいでしょうか?
ソースココード
PHP
1$array = [ 2 array( 3 'taxonomy' => 'taxonomy-1', 4 'default_term' => 'term1', 5 'default_term_id' => 1, 6 ), 7 array( 8 'taxonomy' => 'taxonomy-2', 9 'default_term' => 'term3', 10 'default_term_id' => 2, 11 ), 12 array( 13 'taxonomy' => 'taxonomy-3', 14 'default_term' => 'term3', 15 'default_term_id' => 3, 16 ), 17]; 18foreach ($array as $value){ 19 // カスタム投稿タイプでカテゴリ未選択時にデフォルトで default_term を設定 20 function add_default_term_automatically($post_ID) { 21 global $wpdb; 22 // 設定されているカスタム分類のタームを取得 23 $curTerm = wp_get_object_terms($post_ID, $value['taxonomy'].'_cat'); 24 if (0 == count($curTerm)) { 25 // default_term のターム ID 26 $defaultTerm= array($value['default_term_id']); 27 wp_set_object_terms($post_ID, $defaultTerm, $value['taxonomy'].'_cat'); 28 } 29 } 30 add_action('publish_'.$value['taxonomy'].'', 'add_default_term_automatically'); 31}
###エラーメッセージ
上記のコードでは関数が複数選択されるようなエラーが返ってきます
Fatal error: Cannot redeclare add_default_term_automatically()
繰り返し同じような関数とactionを繰り返す方法を教えていただきたいです
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/09 00:21 編集
退会済みユーザー
2021/03/09 01:01 編集
2021/03/09 01:30 編集
退会済みユーザー
2021/03/09 01:53