Php 分页不';当在WordPress中设置了偏移量时,将无法工作
有人能解释一下为什么我的分页不起作用吗?Php 分页不';当在WordPress中设置了偏移量时,将无法工作,php,wordpress,pagination,wordpress-theming,Php,Wordpress,Pagination,Wordpress Theming,有人能解释一下为什么我的分页不起作用吗? 请看下面的代码 <?php $args = array( 'post_type' => 'post', 'offset' => '1', 'page' => $page, 'paged' => ( get_query_var('paged') ? get_query_var('paged') : 1), ); query_posts($args); $i = 1; if (have_pos
请看下面的代码
<?php
$args = array(
'post_type' => 'post',
'offset' => '1',
'page' => $page,
'paged' => ( get_query_var('paged') ? get_query_var('paged') : 1),
);
query_posts($args);
$i = 1;
if (have_posts()) :
while (have_posts()) : the_post();
?>
当我注释或删除'offset'=>'1'
分页有效。有没有其他的抵消方法 任何帮助都将不胜感激。
谢谢。这篇文章解释了如何在不破坏WordPress内置分页的情况下在查询中使用WordPress的
offset
值
您需要编写一些额外的代码来手动处理分页;您需要检测循环是否有其他页面,然后动态计算当前页面的适当偏移量
您将使用WordPress内置的pre\u get\u posts
hook。请参阅。
这对我来说很有用。你能不能包括查询帖子功能以及从一个数组中获取帖子?很难说发生了什么。这些是WordPress函数,你可以在以下链接中看到它们:查询帖子()获取帖子()请阅读本文档,它描述了案例中参数
$args
的签名。分页是一个众所周知的问题。请添加评论并解释您的答案。
<?php
$current_page = get_query_var('paged');
$current_page = max( 1, $current_page );
$per_page = 2;
$offset_start = 1;
$offset = ( $current_page - 1 ) * $per_page + $offset_start;
$args = array(
'post_type' => 'podcast',
'post_status' => 'publish',
'posts_per_page' => $per_page,
'offset' => $offset,
'paged' => $current_page,
);
$query = new WP_Query( $args );
$total_rows = max( 0, $query->found_posts - $offset_start );
$total_pages = ceil( $total_rows / $per_page );
?>
<?php if($query->have_posts()): ?>
<?php while ( $query->have_posts() ) : $query->the_post(); ?>
<?php endwhile; ?>
<?php
echo paginate_links(array(
'total' => $total_pages,
'current' => $current_page,
'next_text'=> "Next",
'prev_text'=> "Prev",
));
?>
<?php endif; wp_reset_query(); ?>