[ 質問者返信待ち ] Search.phpで意図としない場所にフォームが表示される

VWSとは フォーラム VK Filter Search Pro [ 質問者返信待ち ] Search.phpで意図としない場所にフォームが表示される

[ 質問者返信待ち ] Search.phpで意図としない場所にフォームが表示される

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

    k-h-s
    参加者
    制作実績

    ■ WordPress のバージョン
    6.5.2

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

    ■ 子テーマをご利用の場合は親テーマに変更して症状が改善するか確認してください。
    確認しました。

    ■ テーマの種類
    その他

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

    ■ プラグインの種類・バージョン
    VK Filter Search Pro v.2.6.0

    ■ 期待する動作
    意図としない箇所にフォームが表示されるのを解消したい

    ■ 自分で試した事

    • WordPress本体のバージョンをダウングレード
    • VK Filter Search Proのバージョンをダウングレード

    ■ 症状が発生するブラウザ
    Google chrome

    ■ 実際の症状
    VK Filter Search Proのフォームを、専用の固定ページを構築し、
    searchform.php経由でsearch.phpに呼び出して設置しています。
    (以前このフォームのどこかのトピックで見た方法をヒントにして設置しましたが、
    それが何のトピックでのやりとり行われたのか思い出せませんでした。)

    VK Filter Search Pro導入当初(バージョンは2.4.2でした)は問題なく稼働していましたが、
    最新版(2.6.0)にアップグレードすると、<?php get_search_form(); ?>
    呼び出した箇所以外の意図としないところにフォームが表示されるようになってしまいます。

    またURLも旧バージョンではなかったパラメーター([]で囲った部分)が追加されています。
    https://www.hogehoge.com/tech_info/?category_name=others&search-place=&search-material=&search-function=&search-damage=&search-needs=&%5Bs=&category_operator=or&search-place_operator=or&search-material_operator=or&search-function_operator=or&search-damage_operator=or&search-needs_operator=or&vkfs_form_id=561%5D

    現状ダウングレードすれば解消されますが、旧版のまま放置するのも好ましいものではないので、
    最新版でも解消されればと思います。

    お忙しいところ恐れ入りますが、よろしくお願いいたします。

    ■ その他特記事項
    search.phpのコード(一部)下記に記載します

    <details class="more_info">
                    <summary class="more_info_top">Refine further</summary>
                    
    				<div class="more_info_form">
    					<?php get_search_form(); ?>
    				</div>
                </details>
    	
    			<div class="pager_area">
    				<p><?php
    				$found_posts = $wp_query->found_posts;
    				echo '(' .$found_posts. '&ensp;items)';
    				?></p>
    				
    				<?php
    				$args = array(
    					'mid_size' => 1,
    					'prev_text' => '',
    					'next_text' => '',
    					'screen_reader_text' => '',
    				);
    				the_posts_pagination($args);
    				?>
    			</div>
    			
    			<!--インデックス表示-->
    			
    			<div class="tech_search_list">
    				<ul>
    					<?php if(have_posts()): while(have_posts()): the_post(); ?>

    <?php get_search_form(); ?>の箇所の他、
    <?php if(have_posts()): while(have_posts()): the_post(); ?>の辺りでも
    searchform.phpが吐き出されてしまいます。

    #90317

    k-h-s
    参加者
    制作実績
    #90340

    DRILL LANCER
    モデレーター

    お世話になります。株式会社ベクトルの平川です。

    VK Filter Search Pro導入当初(バージョンは2.4.2でした)は問題なく稼働していましたが、
    最新版(2.6.0)にアップグレードすると、
    呼び出した箇所以外の意図としないところにフォームが表示されるようになってしまいます。

    該当のフォームの「検索結果ページにフォームを表示する」がチェックが入っている場合は
    テーマの表示位置の指定がある場合はその位置で、そうでない場合は loop_start のフックで表示されるようになります。
    位置指定の例は下記の通りです。

    
    function my_vkfs_themes_hook( $theme_hook_array ) {
    	$theme_hooks      = array(
    		'lightning'     => 'lightning_loop_before',
    		'lightning-pro' => 'lightning_loop_before',		
    		'katawara'      => 'katawara_loop_before',
    		'(テーマ名)'  => '(フック名)'
    	);
    	$theme_hook_array = array_merge( $theme_hook_array, $theme_hooks );
    	return $theme_hook_array;
    }
    add_filter( 'vkfs_theme_hook_array', 'my_vkfs_themes_hook' );
    

    あとは検索結果を表示したい位置に

    do_action( '(フック名)' );

    を追加すればこちらが優先され loop_start で表示されなくなります。

    <?php get_search_form(); ?>の箇所の他、
    <?php if(have_posts()): while(have_posts()): the_post(); ?>の辺りでも
    searchform.phpが吐き出されてしまいます。

    loop_start のフックはこのあたりに存在します。

    またURLも旧バージョンではなかったパラメーター([]で囲った部分)が追加されています。
    https://www.hogehoge.com/tech_info/?category_name=others&search-place=&search-material=&search-function=&search-damage=&search-needs=&%5Bs=&category_operator=or&search-place_operator=or&search-material_operator=or&search-function_operator=or&search-damage_operator=or&search-needs_operator=or&vkfs_form_id=561%5D

    こちらは、「タームに紐づいている全ての投稿数ではなく、現在の送信されている条件での該当投稿数を表示」の機能を実現するために追加されたパラメーターになります。気にならないように後ろの方に持っていきましたが、気になるようでしたら対応を検討したいと思います。

    あと、現在「固定ページ」に直接設置したうえでのご利用とのことですが、「固定ページ」ではなく投稿タイプ「VK Filter Search」でフォームを作成した後でそれを、Call Filter Search Form ブロックで呼び出して使用する事を想定しています。

    以上よろしくお願いします。

    #90347

    お世話になります。株式会社ベクトルの石川と申します。

    元々基本的には

    1. 投稿タイプ VK Search Filter でフォームを作成
    2. ブロック「VK Filter Search Pro」の設定で、「検索結果ページにフォームを表示する」にチェック
    3. 検索フォームを表示したい場所(ユーザーが検索する場所用)に「Call Filter Search Form」 ブロックを配置
    4. 検索結果ページに表示される検索結果一覧の一番最初(loop_start)に自動的に表示されます。

    という手順で特にテーマファイルにコードを書かなくても使用可能です。
    設置手順につきましては下記参照くださいませ

    VK Filter Search

    検索結果ページでの表示位置を指定したい場合は、先に記載の DRILL LANCER さんの解説をお試しください。

    #90364

    k-h-s
    参加者
    制作実績

    平川様 石川様

    お世話になっております。
    またご回答いただきありがとうございます。

    平川様がご教示いただいた方法で問題は解消されました。
    ありがとうございました。

    パラメーターの件、
    >「タームに紐づいている全ての投稿数ではなく、現在の送信されている条件での該当投稿数を表示」
    とのことで承知しました。

    パラメーター自体は気にならないのですが、
    「/en/tech_info/?category_name=pave-roadways-flow」のように
    パラメーターでリンクを設定している箇所があり、リンクを踏むと
    カテゴリーがあらかじめ選択された状態にならなくなったのが何故か気になっていたためです。

    可能であれば、検索結果ページのURLやパラメーターは変わらないのが
    当方としては望ましいですが、いかがでしょうか?

    #90472

    本日配信の 2.7.0 で対応いたしましたのでアップデートしてご確認くださいませ。

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