我想将每个自定义分类标准重定向到循环中的第一篇文章。
例如:
我有一个城市(分类法)列表,例如波士顿,丹佛,纽约... 如果单击分类的档案,我想重定向到列表中的第一个城市。在这种情况下,波士顿。
我在这里找到了执行此操作的示例: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');
但是现在它总是重定向到最旧的帖子。有没有一种方法可以更改顺序以更新最新帖子?
答案 0 :(得分:1)
您将被重定向到特定分类法的第一个发布的职位。
您需要修改查询,使其必须在$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' );
}