admin管理员组文章数量:1418611
I use this code in tag.php
:
global $wp_query;
$paged = (get_query_var('paged')) ? get_query_var('page') : 1;
$termsss = $wp_query->queried_object;
$my_argsss = array (
'post_type' => array('pavilion','post','catalog','tenders','services'),
'tag' => $termsss->slug,
'posts_per_page' =>'20',
'paged' => $paged
);
$wp_query = new WP_Query();
$wp_query -> query ($my_argsss);
if ( $wp_query->have_posts() ) {
while ( $wp_query->have_posts() ) { $wp_query->the_post();
// your code!
}
}
At first page, we can see every we want, but in another page returns 404 not found!
Any idea?
I use this code in tag.php
:
global $wp_query;
$paged = (get_query_var('paged')) ? get_query_var('page') : 1;
$termsss = $wp_query->queried_object;
$my_argsss = array (
'post_type' => array('pavilion','post','catalog','tenders','services'),
'tag' => $termsss->slug,
'posts_per_page' =>'20',
'paged' => $paged
);
$wp_query = new WP_Query();
$wp_query -> query ($my_argsss);
if ( $wp_query->have_posts() ) {
while ( $wp_query->have_posts() ) { $wp_query->the_post();
// your code!
}
}
At first page, we can see every we want, but in another page returns 404 not found!
Any idea?
1 Answer
Reset to default 1Never re-do the main query. Hook into pre_get_posts
and change it. The following needs to go in your functions.php
(putting in the template will mean it runs too late):
add_action( 'pre_get_posts', function ( $wp_query ) {
if ( $wp_query->is_main_query() && $wp_query->is_tag() ) {
$wp_query->set( 'posts_per_page', 20 );
$wp_query->set( 'post_type', [
'pavilion',
'post',
'catalog',
'tenders',
'services',
]);
}
});
And now your template code should just be:
if ( have_posts() ) {
while ( have_posts() ) {
the_post();
// your code!
}
}
本文标签: templatesPagination issue with tagphp
版权声明:本文标题:templates - Pagination issue with tag.php 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1745291212a2651807.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论