• 解決済 tamahome

    (@tamahome)


    メディアにタクソノミーを追加したのですが、タームをつけてもタームの数がカウントされません。
    メディアを追加するときは、
    メディア→ライブラリから、または投稿画面から追加します。
    その時にタームを選択しているのですが、どれも0になっています。
    投稿画面やライブラリからメディアを確認すると、タームを選択していないことになっています。
    どのような条件かわかりませんが、たまに成功して数がカウントされたり、
    選択されたことになっているが、カウントされていなかったりします。
    何が原因か、もしお分かりになりましたら、ご教授いただけると幸いです。

    functions.phpには以下を記載しています。

    register_taxonomy(
    		'hagaki_cat',
    		'attachment',
    		array(
    			'hierarchical' => true,
    			'description' => '販売用はがき',
    			'label' => '画像カテゴリー',
    			'show_ui' => true,
    			'query_var' => true,
    			'rewrite' => array('slug' => 'hagaki-cat'),
    			'singular_label' => 'はがきのカテゴリー',
    			'has_archive' => true,
    		)
    	);
    
    		register_taxonomy(
    		'hagaki_tag',
    		'attachment',
    		array(
    			'hierarchical' => false,
    			'label' => '画像タグ',
    			'show_ui' => true,
    			'query_var' => true,
    			'rewrite' => array('slug' => 'hagaki-tag'),
    			'singular_label' => 'はがきのタグ',
    			'has_archive' => true,
    		)
    	);

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • functions.phpに書いてあるとのことですが念のため、initアクションフックの中から呼び出されるようになっていますか?
    具体的にはregister_taxonomy関数の「使い方」と「例」を御確認ください。他にも幾つか注意点があるようですので、まだでしたら一通り目を通されると良いと思います。
    関数リファレンス/register taxonomy – WordPress Codex 日本語

    add_action( 'init', 'register_hagaki_taxonomies' );
    function register_hagaki_taxonomies() {
    	register_taxonomy(
    		'hagaki_cat',
    		'attachment',
    		array(
    			'hierarchical' => true,
    			'description' => '販売用はがき',
    			'label' => '画像カテゴリー',
    			'show_ui' => true,
    			'query_var' => true,
    			'rewrite' => array('slug' => 'hagaki-cat'),
    			'singular_label' => 'はがきのカテゴリー',
    			'has_archive' => true,
    			'update_count_callback' => '_update_generic_term_count'
    		)
    	);
    }

    これでどうでしょう。
    第三引数の配列に 'update_count_callback' => '_update_generic_term_count' を追加しました。
    @gblsm さんのリンク先、引数の項目に詳しく説明されています。

    トピック投稿者 tamahome

    (@tamahome)

    お二方ありがとうございました。
    gblsmさんの仰る通り、codexに全てのっていましたね。
    アクションフックで呼び出して、'update_count_callback' => '_update_generic_term_count',を追加すると、問題なく動きました。
    ありがとうございました。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「メディアとタームが紐付けられない」には新たに返信することはできません。