web-dev-qa-db-ja.com

検索結果が1件の投稿しか返さない場合に投稿にリダイレクトする方法

投稿のリストを表示するために検索した後、私は私のsearch.phpに訪問者を送りたいです。検索結果が1つしかない場合、ユーザーは問題の投稿に直接アクセスできます(Googleの「私は幸運を感じているボタンです」のようなもの)

皆さん、ありがとうございました。

7
Marissa Tweel

このスニペットをfunctions.phpに追加してください。

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

これがお役に立てば幸いです。

11