我爱水煮鱼博客前天发技术文《WordPress 技巧:当搜索结果只有一篇时直接跳转到文章页面》,提供了在WordPress进行搜索时,如果搜索结果只返回一篇日志则直接跳转到文章页面的方法,为读者节省了再次点击的时间。

以此思路,可以拓展代码为:当文章标签Tag只返回一篇时直接跳转到页面。

代码如下:

/* Tag result redirecting */
add_action('template_redirect', 'sy_redirect_tag_post'); 
function sy_redirect_tag_post() { 
    if (is_tag()) { 
        global $wp_query; 
        if ($wp_query->post_count == 1) { 
            wp_redirect( get_permalink( $wp_query->posts['0']->ID ) ); 
        } 
    } 
}

共有 5 条评论

  1. 大致

    浙江

    is_search()||is_archive()||is_catecory()||is_tag()||is_author()都可以。
    严谨一点判断条件上应该加一个$wp_query->max_num_pages == 1,保不齐有每页只设一篇文章的奇葩呢。

    五年前 Firefox 68 · Windows 7

    回复

    • S

      江苏

      @大致 哈哈,我不是奇葩无所谓。

      五年前 Firefox 70 · Mac OS X 10.15

      回复

    • 老杨

      广东

      @大致 is_catecory() --> is_category(),直接复制过去崩溃了才发现,囧~

      五年前 Google Chrome 78 · Windows 10

      回复

      • S

        江苏

        @老杨 哈哈哈😂

        五年前 Wordpress App 13 · iPhone iOS 13.1.3

        回复

      • 大致

        浙江

        @老杨 这才说明我是吃透了函数,完全手打的。

        五年前 Firefox 68 · Windows 7

        回复

       

回复 大致 取消回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注