[ 質問者返信待ち ] VK Filter Search Pro『検索結果ページにこのフォームを表示』の挙動について

VWSとは フォーラム VK Filter Search Pro [ 質問者返信待ち ] VK Filter Search Pro『検索結果ページにこのフォームを表示』の挙動について

[ 質問者返信待ち ] VK Filter Search Pro『検索結果ページにこのフォームを表示』の挙動について

12件の投稿を表示中 - 1 - 12件目 (全12件中)
  • 投稿者
    投稿
  • #73027

    AndoAtsushi
    参加者

    ■ WordPress のバージョン
    6.1.1

    ■ テーマ・プラグインは全て最新版で確認してください。
    確認しました。

    ■ テーマの種類
    その他

    ■ 関連しそうなプラグインを一つづつ停止して症状が改善するか確認してください。
    確認しました。

    ■ プラグインの種類・バージョン
    – VK Filter Search Pro : Version 1.12.1

    ■ 期待する動作
    固定ページに埋め込んだVK Filter Search Proブロックの「検索結果ページにこのフォームを表示」をオンにした時、検索結果ページ search.phpに検索フォームを表示したい。

    ■ 自分で試した事
    固定ページに埋め込んだVK Filter Search Proブロックの「検索結果ページにこのフォームを表示」をオンにしているが、検索結果ページ search.phpに検索フォームが表示されません。

    検索ページへのリクエストのパラメータは以下のようになっていて、きちんとsearch.phpにリクエストされています。

    /?post_type=products&vkfs_form_id=e4bcc6cc-7109-44d8-94df-af88425b9375&s=

    プラグインのソースを確認したところ、vk_filter_searchというoptionに「検索結果ページにこのフォームを表示」の情報が保存されるようですが、option値を確認したところdisplay_on_resultは空になっていました。

    `
    wp option get vk_filter_search
    array (
    ‘display_on_post_type_archive’ =>
    array (
    ),
    ‘custom_fields’ =>
    array (
    0 => ‘_product_cash-back_value’,
    1 => ‘product_total_valuation_value’,
    2 => ‘product-search_source-line’,
    3 => ‘product-search_batteries-capacity’,
    ),
    ‘display_on_result’ =>
    array (
    ),
    )
    `

    ■ 症状が発生するブラウザ
    Google Chrome Version 109.0.5414.87 (Official Build) (arm64)

    ■ 実際の症状
    固定ページの編集画面からのoption値の保存がうまくいっていないように思えるのですが、何か考えられることはありますか?

    #73030

    DRILL LANCER
    モデレーター

    display_on_result のオプション値はその投稿が保存されその後フォームが描画される途中で保存されます。
    単にオプション値を変えただけではその値は保存されません。

    • この返信は1年、 10ヶ月前にDRILL LANCERが編集しました。
    #73037

    AndoAtsushi
    参加者

    VK_Filter_Search::search_result_form_content();がString(“”)なので検索結果ページにフォームが表示されないようです。

    この関数の中ではoptionを参照しているようなのですが

    option値がフォームの保存時にできて、フォームの表示・送信時に削除されているようです。

    どうすれば検索結果にフォームを表示させることができますか?

    #73038

    DRILL LANCER
    モデレーター

    えーと使用しているテーマは何ですか?
    lightning 系なら lightning_loop_before のアクションフックに引っ掛けています。

    #73068

    AndoAtsushi
    参加者

    テーマはオリジナルです。

    search.phpには以下のようなシンプルなコードだけ記述しています。

    /* Start the Loop */
    while ( have_posts() ) :
    the_post();
    get_template_part( ‘template-parts/content’, ‘search’ );
    endwhile;
    the_posts_navigation();

    the_post() -> loop_startアクション -> VK_Filter_Search::display_search_result_form_content() -> VK_Filter_Search ::search_result_form_content()

    と呼ばれていることはデバッグしながら確認できたのですが、option値が空なのでform_contentが出力されないようでした。

    何かヒントになりますでしょうか?

    #73069

    DRILL LANCER
    モデレーター
    • テーマが Lightning でプラグインが VK Filter Search Pro のみの場合
    • テーマが オリジナルテーマでプラグインが VK Filter Search Pro のみの場合

    上記で検証して見てください。(何かがオプション値の保存を妨害している可能性を疑います。)

    ちなみに、下記フィルターフックを使って独自のアクションフックを登録すればその位置に表示されるようになります。
    (loop_start だと検索結果が 0 件の場合表示されないので独自フックで出力しています。)
    https://github.com/vektor-inc/vk-filter-search/blob/e33d437f63b729bd00996943f956ad23f7c29a66/inc/filter-search/config.php#L8-L24

    • この返信は1年、 10ヶ月前にDRILL LANCERが編集しました。
    #73156

    いーしーかーわーでございますー。補足ですが、

    1. 例えばテーマ名が “ando_san_theme” だったとして、 search.php に do_action('ando_san_sup_fishing_osusumeyade'); みたいなアクションフックを配置
    2. functions.php などに以下を追記

    add_filter(
    	'vkfs_theme_hook_array',
    	function( $theme_hook_array ) {
    		$theme_hook_array[] = array( 'ando_san_theme' => 'ando_san_sup_fishing_osusumeyade' );
    		return $theme_hook_array;
    	}
    );

    で表示されるか試してみてくださいー。

    #73158

    DRILL LANCER
    モデレーター

    option値がフォームの保存時にできて、フォームの表示・送信時に削除されているようです。

    そういった状況に陥ったことがないのでなんとも言えませんがサーバーの WAF とかが関係していそうな気がします。

    #76139

    AndoAtsushi
    参加者

    連絡が遅くなってすみません。
    ブロックテーマではなかったので自作テーマで検索結果ページにウィジェットでVK Filter Search Proブロックを入れて表示されるようになりました。
    Lightningのテーマを使っているサイトではそのようなことをせずに検索結果ページにVK Filter Search Proブロックが表示されるのですがどのようにすればクラシック同じようになりますでしょうか?

    #76144

    DRILL LANCER
    モデレーター

    石川さんの下記の方法は試しました?
    これでうまくいくはずですけど・・・

    VK Filter Search Pro『検索結果ページにこのフォームを表示』の挙動について

    • この返信は1年、 5ヶ月前にDRILL LANCERが編集しました。
    #76148

    そうですねー。こちらでいけるかと思います。

    VK Filter Search Pro『検索結果ページにこのフォームを表示』の挙動について

    #76149

    なるほど、日本語URLが長すぎてアンカーリンクが効かないみたいですね…

    1. 例えばテーマ名が “ando_san_theme” だったとして、 search.php に do_action('ando_san_sup_fishing_osusumeyade'); みたいなアクションフックを配置
    2. functions.php などに以下を追記

    add_filter(
    	'vkfs_theme_hook_array',
    	function( $theme_hook_array ) {
    		$theme_hook_array[] = array( 'ando_san_theme' => 'ando_san_sup_fishing_osusumeyade' );
    		return $theme_hook_array;
    	}
    );

    という感じで試してみてください。
    よろしくお願いいたします!

12件の投稿を表示中 - 1 - 12件目 (全12件中)
  • このトピックに返信するにはログインが必要です。