
本文旨在解决wordpress中自定义`wp_query`分页功能在首页(第一页)显示所有文章,而非指定数量文章的常见问题。通过深入分析`wp_query`参数,特别是`posts_per_page`、`paged`和`nopaging`的正确配置,提供了一套完整的解决方案和示例代码,确保分页逻辑在所有页面上保持一致。
WordPress在处理文章列表时,主要依赖其强大的查询系统。当用户访问网站的不同页面(如首页、分类页、标签页等)时,WordPress会执行一个“主查询”(Main Query)来获取并显示相应的内容。开发者也可以通过WP_Query类创建“自定义查询”(Custom Query),以更灵活地控制显示内容。
分页功能是文章列表不可或缺的一部分,它通过限制每页显示的文章数量来优化用户体验和页面加载性能。WP_Query通过posts_per_page参数设定每页文章数,并通过paged参数获取当前页码来协同工作。然而,在某些情况下,特别是自定义查询与WordPress主查询交互时,可能会出现分页在第一页失效,导致显示所有文章的问题。
当WP_Query的posts_per_page参数在除第一页外的所有页面都正常工作,而唯独第一页显示所有文章时,通常有以下几种可能的原因:
解决此问题的关键在于确保WP_Query的参数配置准确无误,特别是明确启用分页。以下是优化后的WP_Query参数配置示例:
<?php
// 获取当前页码
// 'paged' 用于静态首页或非主查询
// 'page' 用于静态页面分页,但通常在自定义查询中使用 'paged'
$paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
// 定义 WP_Query 参数
$args = array(
'posts_per_page' => 12, // 每页显示的文章数量
'paged' => $paged, // 当前页码
'nopaging' => false, // 明确启用分页,这是解决问题的关键之一
'order' => 'DESC', // 文章排序方式,例如按降序排列
// 'orderby' => 'date', // 排序字段,默认为日期
// 'posts_per_archi
ve_page' => 12, // 可选,在归档页面中设置每页文章数,通常与 'posts_per_page' 保持一致
);
// 执行自定义查询
$custom_query = new WP_Query( $args );
?>关键参数解释:
以下是一个包含自定义WP_Query和分页链接的完整代码示例,它整合了上述优化方案:
佳可商务购物程序 2004
在原版的基础上做了一下修正评论没有提交正文的问题特价商品的调用连接问题去掉了一个后门补了SQL注入补了一个过滤漏洞浮动价不能删除的问题不能够搜索问题收藏时放入购物车时出错点放入购物车弹出2个窗口修正主题添加问题商家注册页导航连接问题销售排行不能显示更多问题热点商品不能显示更多问题增加了服务器探测 增加了空间使用查看 增加了在线文件编辑增加了后台管理里两处全选功能更新说明:后台的部分功能已经改过前台
0
查看详情
<div class="flex" id="allPosts">
<?php
// 获取当前页码
$paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
// WP_Query 参数
$args = array(
'posts_per_page' => 12, // 每页显示12篇文章
'paged' => $paged, // 当前页码
'nopaging' => false, // 明确启用分页
'order' => 'DESC', // 按降序排列
// 'posts_per_archive_page' => 12, // 可选,与 posts_per_page 保持一致
);
// 执行自定义查询
$custom_query = new WP_Query( $args );
if ( $custom_query->h*e_posts() ) :
while ( $custom_query->h*e_posts() ) : $custom_query->the_post();
?>
<div class="blog-entries">
<?php
$featuredImg = has_post_thumbnail() ? get_the_post_thumbnail_url() : get_stylesheet_directory_uri() . '/img/blk-fri.jpg';
?>
<a class="blog-module" href="<?php the_permalink(); ?>">
<div class="blog-img" style="background-image: url('<?php echo esc_url($featuredImg); ?>');">
<div>
<div class="author">By <?php the_author(); ?></div>
<div class="date">
<p><?php echo get_the_date('M'); ?></p>
<p><?php echo get_the_date('d'); ?></p>
</div>
</div>
</div>
<div class="blog-content">
<h4><?php the_title(); ?></h4>
<?php the_excerpt(); ?>
</div>
</a>
</div>
<?php
endwhile;
else :
// 没有找到文章
echo '<p>抱歉,没有找到任何文章。</p>';
endif;
?>
</div>
<div class="pagination">
<?php
// 生成分页链接
echo paginate_links( array(
'base' => str_replace( 999999999, '%#%', esc_url( get_pagenum_link( 999999999 ) ) ),
'total' => $custom_query->max_num_pages, // 总页数
'current' => max( 1, get_query_var( 'paged' ) ), // 当前页码
'format' => '?paged=%#%',
'show_all' => false,
'type' => 'plain',
'end_size' => 2,
'mid_size' => 1,
'prev_next' => true,
'prev_text' => sprintf( '<i></i> %1$s', __( 'Newer Posts', 'text-domain' ) ),
'next_text' => sprintf( '%1$s <i></i>', __( 'Older Posts', 'text-domain' ) ),
'add_args' => false,
'add_fragment' => '',
) );
?>
</div>
<?php
// 重置文章数据,恢复全局 $post 变量到主查询的状态
wp_reset_postdata();
?>WP_Query是WordPress开发中进行内容查询的核心工具。当遇到分页在第一页失效的问题时,关键在于理解WP_Query的内部工作机制,并确保posts_per_page、paged以及nopaging参数的正确配置。通过在WP_Query参数中明确设置'nopaging' => false,并结合正确获取当前页码,可以有效地解决此问题,确保网站分页功能在所有页面上都能按预期工作,为用户提供一致的浏览体验。
以上就是解决WordPress WP_Query 分页在首页显示全部文章的问题的详细内容,更多请关注php中文网其它相关文章!
# word
# wordpress
# 工具
# ai
# 常见问题
# 排列
# php
# 这是
# 优化师证书推荐网站
# seo网站推广京东
# 美女图片网站推广
# seo快站
# 建设制作网站价格
# 烟台专注网站建设公司
# 默认为
# 键名
# 增加了
# 组中
# 首页
# 第一页
# 每页
# 自定义
# 分页
# red
# 南宁专注网站建设开发
# seo域名怎么申请
# 卖油画网站免费推广文案
# 桥西区国内网站推广方案
相关文章:
c++中的std::launder有什么实际用途_c++对象生命周期与指针优化
我的世界官方游戏入口 我的世界官网平台直达链接
漫蛙2(台版)官方入口地址 漫蛙2(台版)正版漫画网页端
解决PHP集成HTML后CSS和图片路径加载问题的指南
抖音创作助手登录入口_抖音创作辅助工具官网直达
React Router 嵌套组件中 URL 重定向问题的解决方案
4399体育竞技小游戏_4399小游戏赛事入口
俄罗斯Yandex免登录入口_Yandex搜索引擎官网一键直达
Go语言中高效处理x-www-form-urlencoded表单数据
Safari自带网页翻译功能怎么用 无需插件轻松看懂外文网站【方法】
汽车之家官方网站官网入口_汽车之家网页版直接进入
sublime怎么进行远程开发编辑_配置rsub/rmate实现sublime编辑服务器文件
Golang如何实现简单的Web表单_Golang表单提交与验证处理方法
处理动态列数据:J*a ArrayList的正确初始化与字符累加教程
天眼查怎么看公司融资情况 天眼查企业融资历史查询步骤【攻略】
AO3最新可访问网址 Archive of Our Own官方在线入口
php源码怎么在电脑上测试_电脑测试php源码方法步骤【教程】
Spyder启动失败:字体文件权限拒绝错误解决方案
从J*aScript对象中精确提取指定属性的教程
Win11怎么设置鼠标主按键_Win11鼠标左右键功能互换
WooCommerce产品页高级定制:实现基于分类的交叉销售
漫蛙manwa2最新登录网址_漫蛙manwa2手机网页版入口
极兔快递快件信息查询系统 极兔快递官网运单号追踪
狙击外星人小游戏开始_狙击外星人小游戏立即开始
J*aScript生成器_j*ascript异步迭代
NVIDIA股价11月重挫12%:下月有望好转 但难回5万亿美元巅峰
Golang指针如何与map组合使用_Golang map指针组合实践
迅雷下载到U盘速度很慢怎么办_迅雷U盘下载慢优化方法
漫蛙官网正版漫画入口 漫蛙2官方网页登录地址
Win11 BitLocker密码忘了怎么办 Win11找回BitLocker恢复密钥方法【解决】
KFC套餐升级怎么获取优惠代码_KFC套餐升级活动与优惠代码获取方法
提升屏幕阅读器对“m”时间单位的播报准确性:HTML与CSS组合解决方案
在J*a中如何开发在线活动报名与管理系统_活动报名管理项目实战解析
Win10文件资源管理器“此电脑”分组怎么关 Win10恢复经典视图【技巧】
百度浏览器字体显示异常偏小_百度浏览器字体渲染修复方案
MongoDB聚合管道:正确匹配对象数组中_id的方法
处理嵌套交互式控件:前端可访问性指南
Win11怎么设置开机NumLock亮 Win11修改注册表InitialKeyboardIndicators值
深入理解Go语言中Map值与方法接收器的交互:为什么需要临时变量
在Runstone环境中高效处理TasteDive API的JSON数据
Win11怎么隐藏桌面图标 Win11一键隐藏所有桌面元素及恢复显示
《主播少女的秘密账号迷宫》首支宣传片
Lar*el递归关系中排除子孙节点的策略
XML中包含HTML标签导致解析错误? 正确嵌入非XML数据的两种方法
GemBox Document HTML转PDF垂直文本渲染问题及解决方案
抖音网页版快捷访问 抖音网页版网页版入口操作教程
BetterDiscord插件中安全更新用户简介的实践指南
Composer的 "conflict" 字段有什么用_如何声明不兼容的包以避免依赖冲突
J*aScript中安全有效地处理localStorage字符串数据
优化Django表单:提交验证失败后保留用户输入
*请认真填写需求信息,我们会在24小时内与您取得联系。