あべてっく

役に立ったり立たなかったりする内容を備忘録的にちょこちょこと。
 

WordPressでAdvanced Custom Fieldプラグインを使用する際にカテゴリ選択をラジオボタンにしたい

投稿日 2013年7月5日  カテゴリ : WordPress  タグ :

カスタム投稿でAdvanced Costom Fieldを使用してカテゴリ別にカスタムフィールドを作った後、
そのカテゴリ選択をチェックボックスでなくラジオボタンでやりたいと思いました。
やり方をざっと調べると、主に

・PS Taxonomy Expanderプラグイン使う方法
・function.phpで処理する方法、
・coreを直接書き換える方法

があるようです。
 
この中でどれを使うかということですが、PS Taxonomy Expanderは試してみたところ、
なんかACFと相性が悪い感じでした。またcoreの書き換えはできるだけやりたくなかったので、
消去法でこちらを参考に
js使ってhtmlを書き換える処理をfunction.phpに持たせてやることにしました。
そんでカスタム投稿画面を見ると、おお、カテゴリ選択がラジオボタンになってますw
 
しかしどーやら今回使用するACFバージョン4.1.6では、カテゴリ選択はチェックボックスでないとうまく動かないようです。
ラジオボタンを切り替えてもカテゴリ別に作成したカスタムフィールド項目が変更されません。
このカスタムフィールドは、カテゴリ変更があった際にAjaxで動的に項目変更するようですが、
おそらくそのトリガにtype=checkboxを使っているのでしょう。
 
んで探してみると、ありましたw
 
場所は、/wp-content/plugins/advanced-custom-fields/js/input/ajax.js の220行目付近、

// taxonomy / category
$(‘.categorychecklist input[type=”checkbox”]’).live(‘change’, function(){

// vars
var values = [];

$(‘.categorychecklist input[type=”checkbox”]:checked’).each(function(){

values.push( $(this).val() );
});

というとこです。
 

この中に2か所あるtype=”checkbox”をtype=”radio”に変更してやるとうまく動きましたw
 
 

WordPressプラグイン100選
WordPressプラグイン100選

posted with amazlet at 13.07.05
矢津 宗一
株式会社ギャップ・ジャパン
売り上げランキング: 8,398

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です