php - 带有自定义主题的 WordPress 分页不起作用
问题描述
我的 WordPress 博客使用自定义主题时出现分页问题。
这是我实际用来显示主页中所有帖子的循环(如您所见,我只需要显示插入到主页类别中的帖子):
<!-- Articles -->
<div role="main">
<h2 class="page-title">MOST RECENT</h2>
<hr class="black">
<?php $args = array(
'post_type' => 'post',
'post_status' => 'publish',
'category_name' => 'home',
'order' => 'DESC',
'posts_per_page' => 100,
'paged' => get_query_var( 'paged' ),
'offset' => 1,
);
?>
<?php $arr_posts = new WP_Query( $args ); ?>
<?php if ( $arr_posts->have_posts() ) : ?>
<div id="full-post-list" class="row between-xs">
<?php while ( $arr_posts->have_posts() ) : $arr_posts->the_post(); ?>
<div class="col-xs-12 col-md-5 mansory-card">
<div class="box">
<div class="row middle-xs">
<div class="col-xs-12 col-md-12">
<div class="box">
<a href="<?php the_permalink() ?>">
<?php the_post_thumbnail('large', array('class' => 'home-thumb-img')); ?>
</a>
</div>
</div>
</div>
<div class="row middle-xs thumb-home">
<div class="col-xs-12 col-md-12">
<div class="box mansory-text-box">
<span class="mansory-title"><a href="<?php the_permalink() ?>">
<?php echo wp_trim_words( get_the_title(), 5, null ); ?></a></span>
<!-- Funzione PHP per generare numero random di views (mt_rand(1000,2000)) più visite effettive. Da disattivare dopo un mese dal deployment-->
<p class="mansory-details">
<!-- POSTED BY <a class="author-name" href="<?php /* echo get_author_posts_url( get_the_author_meta( 'ID' ), get_the_author_meta( 'user_nicename' ) ); ?>"><?php the_author(); */?></a> | --><span class="mansory-category">
<?php the_category(', '); ?></span> |
<?php echo get_the_date('F j, Y'); ?>
<!-- | <?php /* echo (mt_rand(1000,2000)) + wpp_get_views(get_the_ID()); */ ?> <i class="far fa-eye"></i> -->
</p>
<p class="mansory-excerpt"><span class="preview-excerpt">
<?php echo get_the_excerpt() ?></span><span class="read-more"><a href="<?php the_permalink() ?>"> Read more</a></span></p>
<hr class="gray">
</div>
</div>
</div>
</div>
</div>
<?php endwhile; ?>
</div>
<?php endif; ?>
</div><!-- #Articles -->
循环在第一页显示前 100 个帖子,但如果我在浏览器中键入 mysite.com/page/2,我会在第一页看到相同的帖子。
我在网上阅读了几篇关于分页问题的文章,但我找不到解决方案。
有任何想法吗?
谢谢!
解决方案
如果删除偏移不起作用试试这个:
希望这能解决您的问题。
$paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
$posts_per_page = 100;
$offset = ( $paged - 1 ) * $posts_per_page;
$args = array(
'post_type' => 'post',
'post_status' => 'publish',
'category_name' => 'home',
'order' => 'DESC',
'posts_per_page' => $posts_per_page,
'paged' => $paged,
'offset' => $offset);
推荐阅读
- ios - 表视图子视图覆盖 UIView 子类
- c++ - 数回文单词
- binary - C++ 读取二进制文件的问题
- javascript - 如何访问 Session 变量并在 javascript-asp.net mvc 中设置它们?
- sql-server - SQL Server 2017 Express Edition 插入选择性能问题
- android - 颤振谷歌登录为空
- node.js - 带有 ng-select 的 Mongoose 新 Schema post 子数组
- c# - Entity Framework Core - 延迟加载不起作用
- navbar - 我的主页上看不到汉堡包图标
- c# - 对类的实例进行分类