WordPressプラグイン「WP Number of Results 」設定例
WP Number of Results プラグイン設定例
2022/06/05 更新, Version:1.1.2
WP Number of Resultsとは、検索条件の選択中にヒット件数を表示するWordPressプラグインになります。
このWP Number of Resultsプラグイン設定例ページでは、
- 検索キーワード、カテゴリ、タグ、タクソノミー1、タクソノミー2をチェックボックスで選択した時の検索数を表示させるめの設定例
検索キーワード、カテゴリ、タグ、タクソノミー1、タクソノミー2をチェックボックスで選択するための設定例
Search & Flterの設置
Search & Flterを使って、投稿、または固定ページにテキスト入力、カテゴリー選択を条件に検索するショートコードを設置します クラス名は任意で設定可能ですが、ここでは wnrdemo として設置しています。
1 2 3 4 5 |
[searchandfilter class="wnrdemo" fields="search,category,post_tag,new_taxonomy_1,new_taxonomy_2" types="checkbox,checkbox,checkbox,checkbox,checkbox" operators="AND,OR,OR,OR,OR"] |
入力パラメータ
Search & Flterの入力条件に対して、検索数を求めるには、入力パラメータにJson形式で 紐づけを行います 書式は、 “変数名”:”DOM ノードオブジェクト名” となっています。
1 2 3 4 5 6 7 |
{ "ofsearch": "form.searchandfilter input[name='ofsearch']", "ofcategory": "form.searchandfilter input[name='ofcategory[]']", "ofpost_tag": "form.searchandfilter input[name='ofpost_tag[]']", "ofnew_taxonomy_1": "form.searchandfilter input[name='ofnew_taxonomy_1[]']", "ofnew_taxonomy_2": "form.searchandfilter input[name='ofnew_taxonomy_2[]']" } |
WP_Queryパラメータ
書式は、 “WordPress WP_Query変数”:”入力パラメータの変数名” となっています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
{ "s": "{ofsearch}", "post_type": "any", "tax_query": { "relation": "OR" ,"0":{ "taxonomy": "category", "field" : "term_id", "terms" : "{ofcategory}" } ,"1":{ "taxonomy": "post_tag", "field" : "term_id", "terms" : "{ofpost_tag}" } ,"2":{ "relation": "OR" ,"0":{ "taxonomy":"new_taxonomy_1", "feild" :"term_id", "terms" :"{ofnew_taxonomy_1}" } ,"1":{ "taxonomy":"new_taxonomy_2", "feild" :"term_id", "terms" :"{ofnew_taxonomy_2}" } } } } |
WP_Queryのカスタマイズ
function.phpにWP_Queryパラメーターで指定した検索条件をカスタマイズすることが出来ます。 ※WP_Queryパラメーターで指定した式が検索条件でチェックされない場合に指定を除外しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
// wp number of results function wp_number_of_results_query_custom( $wpq_param_arr ) { // error_log( print_r( $wpq_param_arr, true) ); // s if ( $wpq_param_arr['s'] === '' ) { unset( $wpq_param_arr['s'] ); } // category if ( $wpq_param_arr['tax_query'][0]['terms'] === '' ) { unset( $wpq_param_arr['tax_query'][0] ); } // tab if ( $wpq_param_arr['tax_query'][1]['terms'] === '' ) { unset( $wpq_param_arr['tax_query'][1] ); } // taxonomy_1 if ( $wpq_param_arr['tax_query'][2][0]['terms'] === '' ) { unset( $wpq_param_arr['tax_query'][2][0] ); } // taxonomy_2 if ( $wpq_param_arr['tax_query'][2][1]['terms'] === '' ) { unset( $wpq_param_arr['tax_query'][2][1] ); } // error_log( print_r( $wpq_param_arr, true) ); return $wpq_param_arr; } add_action( 'wp_number_of_results_query', 'wp_number_of_results_query_custom' ); |
検索カウンターのカスタマイズ
検索カウンターのデザインは、テーマ側でカスタマイズが可能です。プラグインの classes/view/NumberOfResultsView.php をテーマフォルダ直下にコピーし、変更を行ってください。
テーマフォルダに NumberOfResultsView.php が無い場合は、プラグイン側のデフォルトの classes/view/NumberOfResultsView.php が使用されます。
1 2 3 |
<div style="height:27px; padding: 0; font-weight: bold; color:#2266aa; margin-bottom:10px;"> 検索結果数: <span class="wnr_counter" style="font-size:24px;"></span> 件 </div> |
ショートコードにて検索カウンターの設置
Widget Shortcodeプラグインを使うと、検索カウンターウィジェットをショートコードにして投稿、固定ページ、またはテンプレートに設置することが出来ます。投稿、固定ページへの記述例
1 2 3 4 |
<div class="sample-wrap text-center"> [widget id="number_of_results_widget-4"] [searchandfilter class="wnrdemo" fields="search,category" submit_label="検索"] </div> |
WordPressテーマのテンプレートへの記述例
1 2 3 4 |
<div class="sample-wrap text-center"> <?php echo do_shortcode('[widget id="number_of_results_widget-4"]'); ?> <?php echo do_shortcode('[searchandfilter class="wnrdemo" fields="search,category" submit_label="検索"]'); ?> </div> |
関連リンク:Number of Results購入ページ