WordPressの検索クエリが1つの結果のみを返す場合に自動リダイレクト

WordPressブログを検索していると、結果が1件しか表示されないことがあります。サイトの整理状況にもよりますが、これはユーザーが探していたもののはずです。ユーザーの1人から、検索クエリの結果が1件だけの場合にその投稿にリダイレクトする方法があるか尋ねられました。この記事では、検索クエリが1件しか一致しない場合にユーザーを投稿にリダイレクトする方法を紹介します。

テーマのfunctions.phpファイルを開き、以下のスニペットを貼り付けるだけです。

add_action('template_redirect', 'one_match_redirect');
function one_match_redirect() {
    if (is_search()) {
        global $wp_query;
        if ($wp_query->post_count == 1) {
            wp_redirect( get_permalink( $wp_query->posts['0']->ID ) );
        }
    }
}

ただし、この機能を期待しないユーザーもいることに注意してください。そのため、彼らを混乱させる可能性があります。

開示:当社のコンテンツは読者によってサポートされています。これは、当社のリンクの一部をクリックすると、当社が手数料を得る可能性があることを意味します。WPBeginnerがどのように資金提供されているか、それがなぜ重要か、そしてどのように私たちをサポートできるかについては、こちらをご覧ください。当社の編集プロセスはこちらです。

究極のWordPressツールキット

無料のツールキットにアクセスしましょう - すべてのプロフェッショナルが持つべきWordPress関連の製品とリソースのコレクションです!

読者とのインタラクション

6 CommentsLeave a Reply

  1. 私の場合はうまくいきました。WordPressでローカル検索エンジンを運営しており、しばらくこの解決策を探していました。説明通りに動作します。本当にありがとうございます!

  2. 特定のフレーズを検索したときに、定義したURLにリダイレクトされるイースターエッグのようにしたいです。例えば、「死んだ人が見える」と検索した場合にリダイレクトされるようにしたいです。

  3. 検索結果の投稿数がいくつであっても、最も関連性の高い投稿に任意の検索クエリをリダイレクトしたい場合はどうすればよいですか?それができたら本当に嬉しいです。

返信する

コメントを残していただきありがとうございます。すべてのコメントは、当社のコメントポリシーに従ってモデレーションされますので、ご了承ください。メールアドレスは公開されません。名前フィールドにキーワードを使用しないでください。個人的で有意義な会話をしましょう。