wordpress category.php,WordPress PageNavi插件不适用于category.php

我有一个问题,PageNavi显示126页(126个帖子 – 这部分几乎是正确的),但不是分解10(期望13页)它显示每个页面中的所有帖子.如果我更改’numberposts’=> 5它显示了相同的5.

相关代码部分:

$args = array( 'category' => 7, 'numberposts' => -1);

$allpost = get_posts( $args );

foreach($allpost as $post) : setup_postdata($post); ?>

<?php the_title(); ?>

我似乎无法弄清楚出了什么问题.

更新(完整代码):

get_header();

?>

something

$args = array( 'category' => 7, 'numberposts' => -1);

$allpost = get_posts( $args );

foreach($allpost as $post) : setup_postdata($post); ?>

<?php the_title(); ?>

工作代码:

something

global $paged;

if (get_query_var( 'paged' ))

$my_page = get_query_var( 'paged' );

else {

if( get_query_var( 'page' ) )

$my_page = get_query_var( 'page' );

else

$my_page = 1;

set_query_var( 'paged', $my_page );

$paged = $my_page;

}

$args = array(

'cat=7',

'paged' => $my_page,

'posts_per_page' => 10

);

$my_query = new WP_Query( $args );

while ($my_query->have_posts()) : $my_query->the_post();?>

<?php the_title(); ?>

wp_pagenavi( array( 'query' => $my_query ) );

wp_reset_query();

?>

解决方法:

当您使用get_posts时,您正在进行自己的查询,而不是使用WordPress生成的默认查询变量. PageNavi插件无法在自定义循环中开箱即用.

作为pointed by rbaier4,您必须使用分页变量.注意不要将默认循环与自定义内容混合,并在完成后重置变量.

global $paged;

if (get_query_var( 'paged' ))

$my_page = get_query_var( 'paged' );

else {

if( get_query_var( 'page' ) )

$my_page = get_query_var( 'page' );

else

$my_page = 1;

set_query_var( 'paged', $my_page );

$paged = $my_page;

}

// default loop here, if applicable, followed by wp_reset_query();

$args = array(

// other query params here,

'paged' => $my_page

);

$my_query = new WP_Query( $args );

// custom loop code

wp_pagenavi( array( 'query' => $my_query ) );

wp_reset_query();

希望能帮助到你.

标签:wordpress,php,loops,wordpress-plugin,wordpress-theming

来源: https://codeday.me/bug/20190630/1336332.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值