将类别链接重定向到第一个子帖子

时间:2015-11-01 作者:Levent Kökdemir

我正在尝试将类别链接重定向到第一个子帖子。我在中使用以下代码category.php. 这会重定向,但链接不会转到第一个子帖子。我如何重定向到第一个子帖子,按照ASC的日期顺序?

/*
 Category Template:
 Template URI: 
 Description: 
 */
if ( have_posts() ) :
    while ( have_posts() ) : the_post();
        wp_redirect( get_permalink( $post->ID ) );
    endwhile;
endif;

2 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

在页面加载序列中,您太晚了,无法重定向。在将标题发送到浏览器之前,需要重定向。这个template_redirect 挂钩应该是一个不错的选择:

function redirect_cat_wpse_207298() {
  if (is_category()) {
    global $post;
    wp_safe_redirect(get_permalink($post->ID));
    die;
  }
}
add_action(\'template_redirect\',\'redirect_cat_wpse_207298\');

SO网友:flomei

你可能需要get_posts() 优化您正在查找的内容/您希望重定向到的位置。

看见the Codex for the general use of get_posts() and its parameters 您可以将此(未经测试,希望它能起作用)用于重定向:

<?php
$args = array(\'posts_per_page\' => 1);
$postslist = get_posts($args);
foreach ($postslist as $post) :
  setup_postdata($post);
  wp_redirect(the_permalink());
endforeach; 
wp_reset_postdata();
?>

相关推荐

How To Fix A Redirect Chain

我希望有人能帮上忙。我的网站爬网显示我的主页上有一个重定向链。基本上,这表明我正在从:http: > https: > https://www.我需要一切http:// 和http://www 直接发送至https://www. 没有链条。以下是.htaccess, 有人能看到是否有可能导致它的错误吗。</IfModule> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ h