フォーラムへの返信
-
投稿者投稿
-
FirstElement 宮澤
キーマスターFEASフォルダ内のfunctions.php、2248行目
$sql .= "AND pm.meta_key NOT LIKE '\_%'";
こちらの行をコメントアウトしてください。
そして、「検索」の「フォーム全体の設定タブ」にて「検索対象の投稿タイプ」には「商品(product)」を選択します。
「検索項目の作成」タブにて「条件」のドロップダウンの下方にカスタムフィールド項目があらわれますが、その中にアンダースコアの項目も追加されているのが確認できるかと思います。WooCommerceの「標準価格」は「_regular_price」です。
「セール価格」は「_sale_price」です。「属性」は「_product_attributes」ですが、複数の値が配列になっておりシリアライズされていますので、別途処理が必要になります。有償のカスタマイズにて承りますのでご検討いただけましたら幸いです。
wordpressで、郵便番号や、現住所から近くの情報を絞り込みは可能でしょうか?
可能なら対応方法を教えていただけますか。こちらにつきましては、現在のFEASではできませんが、可能性について検討してみたいと思います。
FirstElement 宮澤
FirstElement 宮澤
キーマスターcloudserviceさん
ご質問ありがとうございます。
(返答が遅くなり失礼しました)WooCommerceの商品データは、完全には検証できておりませんが、わかっていることは以下のとおりです:
- 商品名や本文は検索可能
- 商品カテゴリは検索可能
- 価格などのカスタムフィールドは、コードの一部改変で可能な様子
- FEASはデフォルトでは、カスタムフィールドのSQL文においてカラム名がアンダースコア(_)から始まるカラム名は拾わないような記述になっていますので、その項目をコメントアウトすれば検索できることを確認しました。
以上のようになります。
試用版をお渡しして、お手元の環境でテストしていただくこともできますので、お気軽にご依頼ください。
FirstElement 宮澤
FirstElement 宮澤
キーマスターこちら、本日リリースしましたv1.9.7にて不具合解消しましたのでクローズします。
FirstElement 宮澤
FirstElement 宮澤
キーマスターこちら、本日リリースしましたv1.9.7にて不具合解消しましたのでクローズします。
FirstElement 宮澤
FirstElement 宮澤
キーマスターログイン情報を共有いただきありがとうございました。
確かに、タグが表示されませんね。
プラグインファイルを直接触って簡単なデバッグをしようと思いましたがセキュリティ上できませんでしたので、お手数ですが、以下をお試しください:- FEAS以外のすべてのプラグインを停止して改善するかどうか
- 1で改善しない場合、テーマをWordPressのデフォルトテーマに切り替えて改善するかどうか
1で改善すれば、FEAS以外のいずれかのプラグインが影響していることになりますので、1つずつ有効化して突き止めてください(あるいは半分ずつ有効化して追い込んだほうが効率的かもしれません)。
2で改善すれば、テーマの何かしらが影響しています。
原因がわかった場合、恐れ入りますがFTPなどで直接サーバ上のファイルにアクセスさせていただければ、諸々調査させていただきます。
FirstElement 宮澤
FirstElement 宮澤
キーマスターこんにちは、ご投稿ありがとうございます。
弊社デモサイト https://demo2.fe-advanced-search.com/ で確認しましたが、問題なく6階層まで表示されております(地域で探す→ 関東/東京都/23区/新宿区/福生/江戸 …仮なのでありえない設定ですが)。
「登録件数が0件のカテゴリ/タームは表示しない」にチェックが入っていると、0件のカテゴリより下層のカテゴリは表示されません。チェックが入ってない場合は、階層がある分、すべて表示されます。
もしよろしければ、別途メール/チャット等でログイン情報を共有いただければ確認させていただきます。
FirstElement 宮澤
FirstElement 宮澤
キーマスターご投稿ありがとうございます。
ACFの繰り返しフィールドとグループフィールドはversion 1.9.6の時点ではまだ対応できておらず、不具合があります。
現状、対応している形式は以下の通りです:- テキスト
- テキストエリア
- 番号
- 選択(Select)
- チェックボックス
- ラジオボタン
- Button Group
- 真 / 偽(設定項目はSmart Custom Fieldsと共用)
- 投稿オブジェクト(設定項目はSmart Custom Fieldsと共用)
https://fe-advanced-search.com/faq
なるべく早期に対応したいと思います。
FirstElement 宮澤
FirstElement 宮澤
キーマスターv1.8.8で、検索結果を投稿タイプ別にソートする機能が追加されましたので、上記コードは不要です。
FirstElement 宮澤
キーマスター上記の「検索条件が指定されていない場合」と「検索条件が指定されている」を判断できる条件文などありますでしょうか?
下記のコードをお試しください。
global $add_where, $keywords; if ( empty( $add_where ) && is_null( $keywords ) ) { // 指定なしの場合のコンテンツ }
FirstElement 宮澤
FirstElement 宮澤
キーマスターこちら返答が遅れ失礼いたしました。
result-controller.php というファイルの21〜23行目を画像のように追記してみてください。
else { $result[0] = '指定なし'; }
将来のアップデートにて表示オプションの実装を検討したいと思います。
FirstElement 宮澤
FirstElement 宮澤
キーマスター失礼しました、カスタムフィールドの場合は’cfKey’の項目が抜けていました。
前述の2つの条件に加え、 ‘meta1’ === cfKey というようにカスタムフィールドのキーを条件に加えてください。’meta1’の部分を実際のカスタムフィールドのキーに置き換えてください。
if('post_meta' === sortKey && 'meta1' === cfKey && 'up' === sortType) { $('.feas-sl-1-up').addClass('current'); } else if('post_meta' === sortKey && 'meta1' === cfKey && 'down' === sortType) { $('.feas-sl-1-down').addClass('current'); } if('post_meta' === sortKey && 'meta2' === cfKey && 'up' === sortType) { $('.feas-sl-2-up').addClass('current'); } else if('post_meta' === sortKey && 'meta2' === cfKey && 'down' === sortType) { $('.feas-sl-2-down').addClass('current'); } if('post_meta' === sortKey && 'meta3' === cfKey && 'up' === sortType) { $('.feas-sl-3-up').addClass('current'); } else if('post_meta' === sortKey && 'meta3' === cfKey && 'down' === sortType) { $('.feas-sl-3-down').addClass('current'); }
お試しいただければと思います。
FirstElement 宮澤
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でデザインを調整してください。
-
投稿者投稿