
您现在的位置是:首页 > WordPress教程WordPress教程
WordPress如何使用WP_Query
WP集市
2025-09-01
【WordPress教程】
699人已围观
-
咱先唠唠WP_Query是干啥的。简单说就是WordPress自己带的数据库查询工具,你想调什么文章、页面、分类,全能用它扒拉出来。比如你想在首页只显示某个分类的文章,或者按时间倒序排列,这伙计都能办。
-
基本用法长这样,你瞅瞅:
<?php $args = array( 'post_type' => 'post', 'posts_per_page' => 5, 'orderby' => 'date', 'order' => 'DESC' ); $my_query = new WP_Query($args); ?>
这串代码意思是:找文章类型是普通文章的,最多抓5篇,按发布时间倒着排(新的在前)。
-
有时候你可能会想“我只要带特定标签的内容”,这时候可以加个tax_query参数,像这样:
'tax_query' => array( array( 'taxonomy' => 'post_tag', 'field' => 'slug', 'terms' => 'tech' ) )
这等于在说:只抓标签别名是“tech”的文章,其他统统过滤掉。
-
循环输出的时候得配合have_posts()和the_post(),但很多人容易忘掉wp_reset_postdata()。这步必须做,不然会影响后面其他查询:
if ($my_query->have_posts()) { while ($my_query->have_posts()) { $my_query->the_post(); echo '<h2>' . get_the_title() . '</h2>'; } wp_reset_postdata(); }
-
性能这块得注意。别动不动就查全站数据,尽量用'fields' => 'ids'只取ID,或者加缓存。曾经我见过一个网站用WP_Query循环嵌套查了十层,服务器直接崩了——这真不是闹着玩的。
-
最后提醒个坑:meta_query用的时候记得指定类型。比如数字比较得用'NUMERIC',不然字符串比大小会出鬼畜结果:
'meta_query' => array( array( 'key' => 'price', 'value' => 100, 'compare' => '>', 'type' => 'NUMERIC' ) )
差不多就这些。WP_Query就像个智能筛子,用对了省心省力,用错了直接筛崩数据库。多试几次就顺手了,关键是记得及时清理查询痕迹。
Tags:
文章版权声明:除非注明,否则均为WP集市原创文章,转载或复制请以超链接形式并注明出处。
