フォーラムへの返信
-
投稿者投稿
-
FirstElement 宮澤
キーマスター近い将来のアップデートにて現在適用中のソートボタンに “current” などのクラスが振られるようアップデート予定です。
ひとまず現状は、下記のJS/jQueryの方法をお試しください。
フッターのwp_footer関数より後に、以下のように記述してください。
<script> jQuery(function($){ let sortKey; let sortType; let cfKey; // URLパラメーターからソートの情報を取得 <?php if ( isset( $_GET['s_target'] ) && '' !== $_GET['s_target'] ) { ?> <?php if ( isset( $_GET['s_order'] ) && '' !== $_GET['s_order'] ) { ?> sortKey = '<?php echo esc_html( $_GET['s_target'] ); ?>'; sortType = '<?php echo esc_html( $_GET['s_order'] ); ?>'; <?php if ( isset( $_GET['csfk'] ) && '' !== $_GET['csfk'] ) { ?> cfKey = '<?php echo esc_html( $_GET['csfk'] ); ?>'; <?php } ?> <?php } ?> <?php } ?> // 取得したソートの情報に合致するボタンに 'current' クラスを付与 if('post_date' === sortKey && 'up' === sortType) { $('.feas-sl-1-up').addClass('current'); } else if ('post_date' === sortKey && 'down' === sortType) { $('.feas-sl-1-down').addClass('current'); } else if('post_title' === sortKey && 'up' === sortType) { $('.feas-sl-2-up').addClass('current'); } else if ('post_title' === sortKey && 'down' === sortType) { $('.feas-sl-2-down').addClass('current'); } else if('post_name' === sortKey && 'up' === sortType) { $('.feas-sl-3-up').addClass('current'); } else if ('post_name' === sortKey && 'down' === sortType) { $('.feas-sl-3-down').addClass('current'); } else if('post_meta' === sortKey && 'up' === sortType) { $('.feas-sl-4-up').addClass('current'); } else if ('post_meta' === sortKey && 'down' === sortType) { $('.feas-sl-4-down').addClass('current'); } else if('rand' === sortKey) { $('.feas-sl-5-up').addClass('current'); $('.feas-sl-5-down ').addClass('current'); } }); </script>- 投稿日時(up/down)
- タイトル(up/down)
- スラッグ(up/down)
- カスタムフィールド(up/down)
- ランダム(up/down共通)
の5種類、計9個のソートボタンを表示する場合のサンプルです。必要に応じて “else if” の条件分岐は調整してください。該当するソートボタンには “current” というクラスが付与されます。
例えば、1つ目のソートボタンがカスタムフィールドをターゲットとする場合、以下のようになります。
// 取得したソートの情報に合致するボタンに 'current' クラスを付与 if('post_meta' === sortKey && 'up' === sortType) { $('.feas-sl-1-up').addClass('current'); } else if('post_meta' === sortKey && 'down' === sortType) { $('.feas-sl-1-down').addClass('current'); }現在のソートのターゲットはURLの”s_target”というパラメータ、up/downの方向は’s_order’で判別できますので、$_GET[‘s_target’]というように取得して条件分岐に使えます。
FirstElement 宮澤
FirstElement 宮澤
キーマスターこちらの件、まもなく対応できそうです。
現在デモサイトで問題なく稼働中ですが( https://demo2.fe-advanced-search.com/ )、さらなる検証をおこない問題なければ近日中のリリースにて正式対応いたします。

FirstElement 宮澤
キーマスターこちらすでにチャットワークで回答済みですが、
現状では対応できておりませんので、検索に使用する項目につきましてはSmart Custom FieldsやCustom Field Suiteなどの代替プラグインをおすすめしております。FirstElement 宮澤
FirstElement 宮澤
キーマスターたとえば上記の項目に必須を付ける場合は、続けてafterを使って追記したい項目を書いてみてください。
<script> jQuery('input#feas_0_2').addClass('test').after('<span class="require">必須</span>'); </script>CSSでデザインを調整してください。
FirstElement 宮澤
キーマスターどんぐり様、ご質問ありがとうございます。
現在のバージョン(v1.8.4)では、設定画面から直接inputタグにclassを追記する方法はありませんが、jQueryで動的に追記することは可能と思います。
例)フォームID=0の3番目の検索項目にtestというclassを追記
<script> jQuery('input#feas_0_2').addClass('test'); </script>上記コードをbody閉じタグ手前などに記述いただけば機能すると思います。
なお、将来のリリースにおいて各種アクションフック/フィルターフックを実装していく予定ですので、例えばテーマのfunctions.phpに記述することでjQuery等に頼らずclassやhtmlタグなど静的に追記できるようになる予定です。
FirstElement 宮澤
キーマスターこちらのご質問に返答が遅れまして失礼しました。
また何かございましたらお気軽にご投稿ください。
※現在フォーラムは調整中につきおもてのメニューに表示していません。チャットワークやメールでしたら見逃さないと思いますのでご検討ください。
-
投稿者投稿