検索結果が空の場合のページ遷移について

0
いいねをした人: 居ません
  • このトピックには8件の返信、2人の参加者があり、最後にKUGAにより3年、 5ヶ月前に更新されました。
9件の投稿を表示中 - 1 - 9件目 (全9件中)
  • 投稿者
    投稿
  • #77645
    KUGA
    参加者
    18

    【お使いの Snow Monkey のバージョン】バージョン: 14.2.2
    【お使いの Snow Monkey Blocks のバージョン】バージョン 11.3.1
    【お使いの Snow Monkey Editor のバージョン】バージョン 5.0.6
    【お使いのブラウザ】
    【当該サイトのURL】

    ### 実現したいこと
    を空の状態で検索ボタンを押下した際のページ遷移先を「Search.php」ではなく、「archive.php」に遷移するように変更したい。

    ### 発生している問題
    絞り込み検索機能をプラグインで実装しており、空の状態で検索を行うと「Search.php」に遷移しますが、
    遷移先を任意のページ(今回の場合、「archive.php」)に変更するようにしたいが、実装ができない状況です。

    実装方法につきましてご存じ方がいらっしゃいましたらご教示ください。

    0
    いいねをした人: 居ません
    #77686
    アバター画像キタジマ タカシ
    参加者
    2426

    念の為確認です。

    「Search.php」ではなく、「archive.php」に遷移するように変更したい。

    この「遷移」というのは、

    1. /?s=○○/blog へ遷移、のような URL の遷移
    2. search.php ではなく archive.php を読み込みたい(URL は /?s=○○ のまま)

    のどちらこのことでしょうか?

    0
    いいねをした人: 居ません
    #77700
    KUGA
    参加者
    18

    失礼致しました。

    意図がわかりずらく、申し訳ございません。

    実装したい内容としましては下記の動きとなります。

    2. search.php ではなく archive.php を読み>込みたい(URL は /?s=○○ のまま)

    0
    いいねをした人: 居ません
    #77738
    アバター画像キタジマ タカシ
    参加者
    2426

    こんな感じでどうでしょうか。

    add_filter(
    	'snow_monkey_view',
    	function( $view ) {
    		// ビューが no-keywords のとき
    		if ( 'templates/view/no-keywords' === $view['slug'] ) {
    			global $wp_query;
    
    			// 投稿タイプを取得
    			$_post_type = $wp_query->get( 'post_type' );
    			$_post_type = $_post_type ? $_post_type : 'any';
    			$_post_type = 'any' !== $_post_type ? $_post_type : 'post';
    			$_post_type = is_array( $_post_type ) ? $_post_type[0] : $_post_type;
    
    			// カスタマイザーで設定されたビューテンプレートを取得
    			$archive_view = get_theme_mod( $_post_type . '-archive-view' );
    			$archive_view = $archive_view ? $archive_view : $_post_type;
    
    			return [
    				'slug' =>'templates/view/archive',
    				'name' => $archive_view,
    			];
    		}
    		return $view;
    	}
    );
    1
    いいねをした人:
    #77773
    KUGA
    参加者
    18

    キタジマ様
    大変、申し訳ございません。質問に誤りがございました。

    検索結果が空の際に読み込みたいページとしましては、「archive.php」ではなく「home.php」でした。

    絞り込み検索機能は、投稿ページとして設定しているページ(home.php)に実装しております。
    検索の際、空の状態で検索ボタンを押した際に「search.php」を読み込むのではなく、投稿ページとして設定しているページ(home.php)を読み込ませたいと考えております。

    0
    いいねをした人: 居ません
    #77821
    アバター画像キタジマ タカシ
    参加者
    2426

    これでどうですかね?

    add_filter(
    	'snow_monkey_view',
    	function( $view ) {
    		// ビューが no-keywords のとき
    		if ( 'templates/view/no-keywords' === $view['slug'] ) {
    			return [
    				'slug' =>'templates/view/home',
    			];
    		}
    		return $view;
    	}
    );
    1
    いいねをした人:
    #78111
    KUGA
    参加者
    18

    キタジマ様
    引き続きご回答頂きましてありがとうございます。

    ご教示頂いたコードを実装しましたが、投稿は表示されるようになったのですが、カスタム投稿タイプで作成した投稿も表示されるようになっております。
    こちらを特定の投稿のみ表示するようすることは可能になりますでしょうか。

    度々申し訳ございません。

    0
    いいねをした人: 居ません
    #78200
    アバター画像キタジマ タカシ
    参加者
    2426

    あーそうか、検索だと対象の投稿タイプが any になるからですかね。そうなるとクエリまでカスタマイズしないといけなくなるので、読み込むテンプレートを差し替えるよりは単純にブログのトップページにリダイレクトさせるほうが簡単な気がしてきたのですがどうですかね?

    0
    いいねをした人: 居ません
    #78390
    KUGA
    参加者
    18

    キタジマ様

    リダイレクトすることで、問題ございませんでした!
    ありがとうございました!

    トピック閉じさせていただきます。

    1
    いいねをした人:
9件の投稿を表示中 - 1 - 9件目 (全9件中)
  • トピック「検索結果が空の場合のページ遷移について」には新しい返信をつけることはできません。

ドキュメント

Snow Monkey の設定方法やマニュアルを掲載しています。

ドキュメント

フォーラム

Snow Monkey の使い方やカスタマイズについてのご質問・ご要望等はサポートフォーラムで行っています。サポートフォーラムは誰でも閲覧できますが、書き込みできるのは Snow Monkey 購入者のみとなります。

サポートフォーラム

よくあるご質問

Snow Monkey のサービスについて不明な点がある場合は、まずはよくあるご質問をご確認ください。

よくあるご質問

お問い合わせ

よくあるご質問を見ても解決しなかった場合、試用版の申請については問い合わせフォームからお願いいたします。

お問い合わせ

Snow Monkey は Gutenberg ブロックエディターに対応した 100%GPL の WordPress テーマです。拡張性を意識した開発をおこなっており、カスタマイザーとブロックでスピーディーにサイトを立ち上げるだけでなく、CSS やフックを駆使した高度なカスタマイズにも柔軟に対応できます。