WordPress

投稿のタクソノミーを親から設定させる

2014年10月21日

物件検索サイトで、親カテゴリーで第一検索、子カテゴリーで第二検索、孫かてご(ry というサイトを作ることになりました。

各カテゴリーで親子カテゴリー達を調べることはできるけど面倒くさい・・・
というわけで、親カテゴリーを入力しないと子カテゴリーを入力できなくしました。

設定

まず以下のjsファイルを作成して、テーマフォルダに設置してください。
※2014/10/27 term_checked.jsを配列対応に修正

[term_checked.js]



次に、テーマフォルダ内のfunctions.phpに以下のものを設置してください。

[functions.php]

// カスタムフィールドに画像を表示
function add_script()
{
 $direc = get_bloginfo('template_directory');
 // テーマフォルダ内のjsを呼び出す
? wp_enqueue_script('admin_print_styles', $direc . '/term_checked.js');
}
add_action('admin_print_scripts', 'add_script');

<h4>応用編</h4>
配列を利用すればループして、複数のタームにも設定可能です。
もし、特定のカスタムポストにだけ利用したいならば、上記のfunctions.phpの記述を

$direc = get_bloginfo('template_directory');
// テーマフォルダ内のjsを呼び出す
wp_enqueue_script('admin_print_styles', $direc . '/term_checked.js');

$arr = array('post'); // 配列で指定したいカスタポストを設定
if( in_array($screen->post_type, $arr) )
{
  global $current_screen;
    $screen = $current_screen;
    $direc = get_bloginfo('template_directory');
  // テーマフォルダ内のjsを呼び出す
    wp_enqueue_script('admin_print_styles', $direc . '/term_checked.js');
}

こんな感じです。
もっと楽なやり方があったら教えてください!!

  • この記事を書いた人

カバノキ

印刷会社のWEB部隊に所属してます。 WEB制作に携わってから、もう時期10年になります。 普段の業務では、PHPをメインにサーバーサイドの言語を扱っています。 最近のお気に入りはJavascriptです。 Vue.jsを狂喜乱舞しながら、社内に布教中です。

-WordPress