WordPress:将自定义分类存档重定向到存档的第一个 post

WordPress: Redirect custom taxonomy archive to first post of the archive

我想将每个自定义分类重定向到循环中的第一个 post。

例如:

我有一个城市列表(分类法),例如波士顿、丹佛、纽约... 如果我点击分类档案,我想重定向到列表中的第一个城市。在这种情况下,波士顿。

我在这里找到了一个例子:https://wordpress.stackexchange.com/questions/207298/redirecting-category-link-to-first-child-post

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

但现在它总是重定向到最旧的 post。有没有办法把订单改成最新的post?

您将被重定向到第一个发布的 post 特定分类。 您需要修改查询,使其必须在 $post 全局变量中采用最新发布的 post。 请尝试添加此过滤器并进行测试。希望这会解决您的问题。

 add_action( 'pre_get_posts', 'order_by_date_callback' );
 function order_by_date_callback ( $query ) 
 {
    if (($query->is_main_query()) && (is_tax()))
    $query->set( 'orderby', 'date' );
    $query->set( 'order', 'DESC' );
 }