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' );
}
我想将每个自定义分类重定向到循环中的第一个 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' );
}