我想将每个自定义分类标准重定向到循环中的第一篇文章。
例如:
我有一个城市(分类法)列表, 如波士顿, 丹佛, 纽约…如果单击分类法的档案, 我想重定向到列表中的第一个城市。在这种情况下, 波士顿。
我在这里找到了执行此操作的示例: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');
但是现在, 它始终重定向到最旧的帖子。有没有一种方法可以更改顺序以更新到最新帖子?
#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' );
}
来源:
https://www.srcmini02.com/64466.html