Jus*_*oll 5 wordpress pagination taxonomy custom-post-type
我正在使用WP PageNavi插件进行分页.关闭WP PageNavi时,如果没有将taxonomy-portflio-category.php页面分页,这个问题也是一个问题.
我有一段时间在主页和页面模板页面上进行分页,但我确实让它们起作用.这是他们的代码:
page-home.php(在名为"Home"的静态首页上用作页面模板)
$paged = 1;
if ( get_query_var('paged') ) $paged = get_query_var('paged');
if ( get_query_var('page') ) $paged = get_query_var('page');
$i = 0;
$loop = new WP_Query( array( 'post_type' => 'portfolio', 'paged' => $paged, 'posts_per_page' => 24 ) );
while ( $loop->have_posts() ) : $loop->the_post();
// output
$i++; endwhile;
if ( function_exists( 'wp_pagenavi' ) ) {
wp_pagenavi( array( 'query' => $loop ) );
wp_reset_postdata();
}
Run Code Online (Sandbox Code Playgroud)
分页工作!
page-portfolio.php(在页面上用作页面模板,称为"工作")
$i = 0;
$loop = new WP_Query( array( 'post_type' => 'portfolio', 'paged' => get_query_var( 'paged' ), 'posts_per_page' => 24 ) );
while ( $loop->have_posts() ) : $loop->the_post();
// output
$i++; endwhile;
if ( function_exists( 'wp_pagenavi' ) ) {
wp_pagenavi( array( 'query' => $loop ) );
wp_reset_postdata();
}
Run Code Online (Sandbox Code Playgroud)
分页工作!
taxonomy-portfolio-category.php(用作显示投资组合部分的方式,例如印刷,摄影等)
$term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) );
global $wp_query;
query_posts( array_merge( $wp_query->query, array( 'posts_per_page' => 2 ) ) );
if (have_posts()) : while ( have_posts() ) : the_post();
// output
endwhile; endif;
if ( function_exists( 'wp_pagenavi' ) ) {
wp_pagenavi();
}
Run Code Online (Sandbox Code Playgroud)
第1页(/ portfolio/interactive /)看起来很棒!它肯定只发布2个项目,它计算正确的分页数.但是当你点击第2页或第3页或第4页(/ portfolio/interactive/page/2 /)时,网站默认为index.php并显示"找不到页面".分页失败!
希望我能尽快解决这个问题.我见过很多人在自定义分类页面上有同样的分页问题,但没有可靠的解决方案.请帮忙!
我遇到了类似的问题,我花了几个小时谷歌搜索!我终于找到了解决方案。将以下代码添加到主题文件夹中的functions.php中:
$option_posts_per_page = get_option( 'posts_per_page' );
add_action( 'init', 'my_modify_posts_per_page', 0);
function my_modify_posts_per_page() {
add_filter( 'option_posts_per_page', 'my_option_posts_per_page' );
}
function my_option_posts_per_page( $value ) {
global $option_posts_per_page;
if ( is_tax( 'portfolio-category') ) {
return 2;
} else {
return $option_posts_per_page;
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7874 次 |
最近记录: |