Title: カスタムフィールド　タームチェックボックス　保存できない。
Last modified: 2016年9月28日

---

# カスタムフィールド　タームチェックボックス　保存できない。

 *  解決済 [aya314](https://ja.wordpress.org/support/users/aya314/)
 * (@aya314)
 * [10年、 9ヶ月前](https://ja.wordpress.org/support/topic/%e3%82%ab%e3%82%b9%e3%82%bf%e3%83%a0%e3%83%95%e3%82%a3%e3%83%bc%e3%83%ab%e3%83%89%e3%80%80%e3%82%bf%e3%83%bc%e3%83%a0%e3%83%81%e3%82%a7%e3%83%83%e3%82%af%e3%83%9c%e3%83%83%e3%82%af%e3%82%b9%e3%80%80/)
 * タクソノミーのタームのチェックボックスを既存投稿のカスタムフィールドに追加しま
   した(下記のコード)。　　しかし、チェックをするものの保存されないのですが、どこ
   がおかしいのかが分かりません。分かりましたら教えてください。宜しくお願いましす。
 * functions.phpに追加↓
 *     ```
       function add_my_box() {
           global $post;
   
       $jobsTerms = get_terms('category','get=all');
       foreach($jobsTerms as $term){
           $checked = (has_term($term->slug, 'category', $post->ID)) ? 'checked="checked"' : '';
           echo "<input type='checkbox' name='term-" . $term->slug . "' value='" . $term->name . "' $checked /> ";
           echo "<label for='term-" . $term->slug . "'>" . $term->name . "</label> ";}
       }
       function add_my_box_hooks() {
           add_meta_box('my_box', 'タクソノミー追加', 'add_my_box', 'post', 'normal', 'high');
       }
       function add_my_box_init() {
           add_action('admin_menu', 'add_my_box_hooks');
       }
       add_action('init', 'add_my_box_init');
       ```
   

4件の返信を表示中 - 1 - 4件目 (全4件中)

 *  [photographer hiro.](https://ja.wordpress.org/support/users/mura0403/)
 * (@mura0403)
 * [10年、 8ヶ月前](https://ja.wordpress.org/support/topic/%e3%82%ab%e3%82%b9%e3%82%bf%e3%83%a0%e3%83%95%e3%82%a3%e3%83%bc%e3%83%ab%e3%83%89%e3%80%80%e3%82%bf%e3%83%bc%e3%83%a0%e3%83%81%e3%82%a7%e3%83%83%e3%82%af%e3%83%9c%e3%83%83%e3%82%af%e3%82%b9%e3%80%80/#post-186237)
 * aya314さん
 * カスタムフィールドではなく、カスタムタクソノミーではまずい感じでしょうか。
    わたくし
   の場合は以下のソースをfunctions.phpに追加しています。 要件を理解してないかもし
   れないです。すみません。
 *     ```
       //カスタム分類を追加
         $args = array(
           'label' => __('カスタム分類のラベル'),
           'labels' => array(
             'name' => __('カスタム分類名'),//管理メニューに表示名
             'singular_name' => __('カスタム分類名'),
             'search_items' => __('検索'),//検索
             'popular_items' => __('よく使われる分類'),//よく使われる（ビルドインの時）
             'all_items' => __('全分類を表示'),//すべて（ビルドインの時）
             'parent_item' => __('親分類を選択'),//親の選択（ビルドイン時）
             'edit_item' => __('現在の分類を編集'),//編集
             //'update_item' => __('変更内容を反映'),
             'add_new_item' => __('新しい分類項目を追加'),//登録ページタイトル
             'new_item_name' => __('新規'),
           ),
           'public' => true,//公開するか
           'show_ui' => true,
           'show_admin_column' => true,//記事一覧ページに表示するかどうか
           'hierarchical' => true,//親子を持たせるか
         );
   
         register_taxonomy(
         'customtax',//分類名
         array('post','custompost'),//ビルドインする投稿タイプ
         $args//上を読み込み
         );
       ```
   
 *  トピック投稿者 [aya314](https://ja.wordpress.org/support/users/aya314/)
 * (@aya314)
 * [10年、 8ヶ月前](https://ja.wordpress.org/support/topic/%e3%82%ab%e3%82%b9%e3%82%bf%e3%83%a0%e3%83%95%e3%82%a3%e3%83%bc%e3%83%ab%e3%83%89%e3%80%80%e3%82%bf%e3%83%bc%e3%83%a0%e3%83%81%e3%82%a7%e3%83%83%e3%82%af%e3%83%9c%e3%83%83%e3%82%af%e3%82%b9%e3%80%80/#post-186322)
 * 返信ありがとうございます。上記のコードは、カスタムタクソノミーを作るコードです
   ね。
    私の説明が悪かったのかもしれませんが、説明しなおしますね。宜しくお願いし
   ます。
 * 例えば、上記でコードで作成したカスタムタクソノミーを、投稿画面にビルドインすると、
   投稿画面の右にカテゴリーのチェックボックスが表示されますね。私が今回質問した内容
   は、この右に表示されるカテゴリーのチェックボックスと同等のものを、カスタムフィールド
   に組み込むことをしたいと考えています。
 * そこで、私が投稿したコードでは、カスタムフィールド上にタームのチェックボックス
   の一覧は表示させることはできるものの、それらを公開又は下書きで保存した際に、チェック
   ボックスにチェックしたものが保存することができません。こちらの保存のやり方を教え
   ていただきたいと思います。
 *  [Toro_Unit (Hiroshi Urabe)](https://ja.wordpress.org/support/users/toro_unit/)
 * (@toro_unit)
 * [10年、 8ヶ月前](https://ja.wordpress.org/support/topic/%e3%82%ab%e3%82%b9%e3%82%bf%e3%83%a0%e3%83%95%e3%82%a3%e3%83%bc%e3%83%ab%e3%83%89%e3%80%80%e3%82%bf%e3%83%bc%e3%83%a0%e3%83%81%e3%82%a7%e3%83%83%e3%82%af%e3%83%9c%e3%83%83%e3%82%af%e3%82%b9%e3%80%80/#post-186324)
 * そもそも、meta_box の表示をするコードと、保存のロジックは関係ないので、input 
   で渡された値を元に、手動でタクソノミーを設定する必要があります。
 * なので、投稿の保存時に `wp_set_post_categories` や `wp_set_post_terms` や `wp_set_object_terms`
   を使って カテゴリーを紐付けてあげる必要があります。
 *     ```
       add_action( 'save_post', 'set_category_to_post' , 10, 1 );
       function set_category_to_post( $post_id ) {
       	$categories = array(); //カテゴリIDの配列をどうにかして取得。
       	wp_set_post_categories( $post_id , $categories );
       }
       ```
   
 * また、当然 $_POST等を使って値を取得することになると思いますが、`wp_nonce_field`
   等を使わないとセキュリティホールになったり、クイック編集で変更があったときにカテゴリー
   が消える等の事故が発生すると思います。（なので、このままちょちょい！って使わない
   でください。）
 * [関数リファレンス/add meta box – WordPress Codex 日本語版](https://wpdocs.osdn.jp/関数リファレンス/add_meta_box)
   も参照してください。おそらく、用例のところの2つ目の英語のやつが参考になるかと
   思います。
 *  トピック投稿者 [aya314](https://ja.wordpress.org/support/users/aya314/)
 * (@aya314)
 * [10年、 8ヶ月前](https://ja.wordpress.org/support/topic/%e3%82%ab%e3%82%b9%e3%82%bf%e3%83%a0%e3%83%95%e3%82%a3%e3%83%bc%e3%83%ab%e3%83%89%e3%80%80%e3%82%bf%e3%83%bc%e3%83%a0%e3%83%81%e3%82%a7%e3%83%83%e3%82%af%e3%83%9c%e3%83%83%e3%82%af%e3%82%b9%e3%80%80/#post-186444)
 * Urabeさん ありがとうござまいす。イメージ的に、保存について混同していた部分があり、
   すこしてこづりましたがおかげで解決に至りました。

4件の返信を表示中 - 1 - 4件目 (全4件中)

 トピック「カスタムフィールド　タームチェックボックス　保存できない。」には新たに
返信することはできません。

## タグ

 * [ターム](https://ja.wordpress.org/support/topic-tag/%e3%82%bf%e3%83%bc%e3%83%a0/)
 * [チェックボックス](https://ja.wordpress.org/support/topic-tag/%e3%83%81%e3%82%a7%e3%83%83%e3%82%af%e3%83%9c%e3%83%83%e3%82%af%e3%82%b9/)
 * [バラメーター](https://ja.wordpress.org/support/topic-tag/%e3%83%90%e3%83%a9%e3%83%a1%e3%83%bc%e3%82%bf%e3%83%bc/)
 * [保存](https://ja.wordpress.org/support/topic-tag/%e4%bf%9d%e5%ad%98/)

 * フォーラム: [使い方全般](https://ja.wordpress.org/support/forum/how-to-and-troubleshooting/)
 * 4件の返信
 * 3人の参加者
 * 最後の返信者: [aya314](https://ja.wordpress.org/support/users/aya314/)
 * 最後の活動: [10年、 8ヶ月前](https://ja.wordpress.org/support/topic/%e3%82%ab%e3%82%b9%e3%82%bf%e3%83%a0%e3%83%95%e3%82%a3%e3%83%bc%e3%83%ab%e3%83%89%e3%80%80%e3%82%bf%e3%83%bc%e3%83%a0%e3%83%81%e3%82%a7%e3%83%83%e3%82%af%e3%83%9c%e3%83%83%e3%82%af%e3%82%b9%e3%80%80/#post-186444)
 * 状態: 解決済

## トピック

### 人気のトピック

### 返信がないトピック

### サポート関連ではないトピック

### 解決済みのトピック

### 未解決のトピック

### すべてのトピック
