すみません、言葉足らずだったので捕捉します。
管理画面の新規追加画面のタグ入力のところで
タグを手打ちで入力するとオートコンプリート機能が働くと思いますがそのことです。
どなたかお分かりになる方がいらっしゃいましたらお願いいたします。
詳しいことはわかりませんが、WordPressコアのファイル wp-admin/js/tags-box.js の中で、下記のコードが実行されるみたいです。
}).each( function() {
var tax = $(this).closest('div.tagsdiv').attr('id');
$(this).suggest(
ajaxurl + '?action=ajax-tag-search&tax=' + tax,
{ delay: 500, minchars: 2, multiple: true, multipleSep: window.tagsBoxL10n.tagDelimiter + ' ' }
);
});
この中から呼び出される関数は、たぶん wp-admin/includes/ajax-actions.php の中にある wp_ajax_ajax_tag_search() だと思います。
失礼しました。上のコードは、WordPress 3.7.1 なら post.js の中にありました。
gblsmさんご回答ありがとうございます!
この関数を止められないか調べてみます。
はじめまして。
初めて書き込みさせて頂きます。
当方も管理画面タグのオートコンプリートを無効にしたく、悩んでおります。
オートコンプリートが発生してしまう環境は
以下の通りです。
OS : Mac OS X 10.8 Mountain Lion
ブラウザ : Safari 6.0
WordPress : 4.5,2
「wp_ajax_ajax_tag_search()を無効にする」という
手だてを試してみたいのですが、フィルターをかける方法が分かりません。
wp-admin/includes/ajax-actions.phpを直接触るのは避けたいのですが…。
どなたかお分かりになる方はいらっしゃいませんでしょうか?
どうぞよろしくお願いいたします。
wp_ajax_ajax_tag_search関数内には
$term_search_min_chars = (int) apply_filters( 'term_search_min_chars', 2, $tax, $s );
....
if ( ( $term_search_min_chars == 0 ) || ( strlen( $s ) < $term_search_min_chars ) ){
wp_die();
}
があり、すなわち $term_search_min_charsの値を 0にしたら無効にできそうです。
となると functions.php に
add_filter ('term_search_min_chars', 'disable_wp_ajax_ajax_tag_search', 10, 2);
function disable_wp_ajax_ajax_tag_search ($default_term_search_min_chars, $tax, $s){
return 0;
}
として何をどうしても値が 0になるようにしてしまえばタグ候補はでなくなるはずです。
kimipoohさん、ご回答ありがとうございます。
functions.phpの最後に上記のフィルタを追加して試してみましたが、
まだタグ候補が表示されてしまいます。
追加したソースは以下の通りです。
function disable_wp_ajax_ajax_tag_search ($default_term_search_min_chars, $tax, $s){
return 0;
}
add_filter ('term_search_min_chars', 'disable_wp_ajax_ajax_tag_search', 10, 3);
add_filterの最後の引数については、頂いたソースですと「2」となっておりましたが、
disable_wp_ajax_ajax_tag_searchの引数の数に合せて「3」としております。
こちらでももう少し試してみます。引き続きよろしくお願いいたします。