信科网络 · 11 年只做 WordPress | 建站 / 主题 / 插件 / 商城 / 迁移 / 托管 | 累计服务 3000+ 企业 | 源码全交付
服务热线:13280692153 邮箱:web@wordpressx.com
工作日 08:30-18:0013280692153 免费诊断
首页/WordPress 教程/query_posts()函数
BLOG

query_posts()函数

分类 发布 2022-08-19

制作wordpress主题的时候经常会用到query_posts()函数,通过它可以实现各种特殊的要求,如获得特定的文章日志、排除某一分类等即query_posts() 函数可以用来控制在主循环(Loop)中显示特定的日志。可能很多人对主循环不太理解,那么就举个栗子吧:

首页、存档页的这些文章都是在主循环中的。在不使用query_posts()函数控制的情况,首页、存档页等都是按照文章的发布时间列出你博客上所有已发布的文章,而如果你想控制哪些文章可以显示,哪些文章不显示,文章按照什么样的方法排序等,那么你就要用到query_posts()函数了。

使用此函数要做的就是在index.php或者其他模板文件中查找if (have_posts())或while (have_posts()),在前面添加query_posts函数即可。不过以上方式可能会导致首页无法分页,可以将query_posts函数改成这样的行式,详细代码如下

<?php 
$args = array(
    'cat' => 1,
    'category_name' => 'wpfunc'
);
$args = array_merge($args, $wp_query->query); //这一行代码是必须的,不然不能分页
query_posts($args);
if( have_posts() ){
    while( have_posts() ){
        //获取下一篇文章的信息,并且将信息存入全局变量 $post 中
        the_post();
        }
}?>

语法结构

<?php query_posts(‘cat=4′); ?> //只设置一个循环条件,显示类别ID为4的文章
<?php query_posts(array(
    'cat' => 1,
    'category_name' => wpfunc
    )
); 
?>
//设置多个循环条件

参数

cat:根据ID显示类别,多个分类用英文逗号隔开,ID前加负号’-‘表示排除该分类

category_name:根据别名显示类别,输出属于某个类别名的文章

tag:显示与某个标签相关的文章,输出某个标签的文章

posts_per_page:显示的文章数目,-1这个值,会显示所有的文章

author_name:根据作者显示文章数目

showposts:显示的文章数量

order:按时间顺序显示文章,包括ASC 和DESC(默认)

post_type:根据文章形式来显示文章

实例

cat

用法:<?php query_posts(‘cat=4′); ?>

category_name

用法:<?php query_posts(‘category_name=wpfunc’); ?>

tag

用法:<?php query_posts(‘tag=wordpress’); ?>

获得拥有任何这样的标签的文章(可以是拥有一个标签也可以是多个标签同时拥有)

<?php query_posts(‘tag=wordpress,php’); ?>

获取拥有这三个标签的文章

query_posts()函数
<?php query_posts(‘tag=wordpress+php+mysql’);  ?>

posts_per_page

<?php query_posts(‘posts_per_page=10’);  ?>

author_name

<?php query_posts(‘author_name=许小珂’);  ?>

orderby

orderby=author
orderby=date
orderby=category
orderby=title
orderby=modified
orderby=modified
orderby=menu_order
orderby=parent
orderby=ID

showposts

<?php query_posts(‘showposts=5’);  ?>

TIPS

使用该函数后,要以wp_reset_query()函数结束,wp_reset_query()函数详情请看wp_reset_query函数

INDUSTRIAL BELT

扎根中国制造产业带
懂工厂,才懂出海

从胶东半岛到珠三角,从长三角到中原腹地,每一片产业集群都有自己的出口节奏与买家画像。信科网络长期扎根产业一线,把工厂的产品语言翻译成海外采购商听得懂的搜索语言,让每一分投入都对着真实的询盘去。

jiangjin

江津外贸网站建设

重庆市江津区,是一个历史文化悠久的城市,以地处长江要津而得名。江津位于重庆西南长江之滨,距渝中区公路里程50公里;铁路里程65公里;水路里程72公里。江津城区气候特征与重庆相近,但综合…

jizhou

冀州外贸网站建设

冀州市隶属河北省衡水市,地处华北平原腹地,北距首都300公里,西距省会石家庄110公里,辖区总面积918平方公里,东与枣强县(衡水)为邻,南与南宫市、新河县(邢台)接壤,西与宁晋县(邢台)…

fengdou

丰都外贸建站

丰都县位于重庆市版图中心,东经107°28′03″-108°12′37″,北纬29°33′18″-30°16′25″之间,呈西北—东南走向分布,南北长87km,东西宽54km,幅员面积2901km2。长江横穿县境47km,水上距离重庆主…

yuzhong

渝中外贸建站

渝中区,位于长江上游地区、重庆大都市区,属重庆主城九区之一。地处在长江、嘉陵江交汇地带,由于两江环抱,形似半岛,又名渝中半岛。渝中区作为重庆市政治、经济、文化以及商贸流通中心,别…

shizhu

石柱WordPress建站

石柱土家族自治县简称石柱县,位于重庆市东部、长江南岸、山峡库区腹心,是集少数民族自治县、三峡库区淹没县、国家扶贫工作重点县于一体的特殊县份。幅员面积3012平方公里,辖32个乡镇,总人…

lingwu

灵武WordPress建站

灵武,古称灵州。地处宁夏引黄灌区的精华地带,素有“塞上江南”之美誉。全市总面积4639平方公里,总人口23.7万,其中回族人口11.1万人。全市非农业人口11.5万人,占总人口的48.5%。1996年5月灵武…

fucheng

阜城Shopify建站

阜城县是河北省衡水市下辖的一个县。面积698平方千米,人口32万。邮政编码053700。阜城县人文荟萃.历史上出现过不少的学者名流,北齐的刘昼,北周的熊安生,民国初期的京剧著名表演艺术家荀慧生,…

jiangbei

江北Shopify建站

江北区,隶属于重庆市,是主城核心区之一。位于长江、嘉陵江交汇处北岸,东南西三面分别与巴南、南岸、渝中、沙坪坝四区隔江相望,北与渝北区接壤。至2015年底,江北区幅员面积为220.77平方千…

shenzhou

深州外贸推广

深州市旧称深州,上古为冀州大陆之域。春秋时为晋地。战国属赵。秦属钜鹿郡。汉为下博县。隋开皇十六年(公元五九六年),于安平置深州,以城西故深池得名。尔后迭经废置,州城屡迁。唐徙州治…

wanzhou

万州外贸推广

重庆市万州区地处三峡库区腹心,长江中上游结合部,因“万川毕汇、万商云集”而得名,是长江十大港口之一。全区幅员面积3457平方公里,辖52个镇乡、街道。总人口171.7万,在重庆40个区县中人口最…

anxin

安新Google SEO

安新县位于河北省中部,县境东与雄县、任丘相连;南与高阳接壤;西与清苑、徐水交界;北与容城毗邻。总面积738.6平方公里。县人民政府所在地安新镇是安新县政治、经济、文化和交通中心,北距…

zaoqiang

枣强Google SEO

枣强县位于河北省东南部,衡水市南端,界于东经115°35′~58′,北纬37°08′~35′之间,总面积892.3平方公里。东隔清凉江与景县、故城相望,西临冀州市,南靠邢台地区南宫市,北接桃城区、武邑县。…

cangxian

沧县GEO优化

沧县位于河北省东南部,冀中平原东部,北冀京津,东邻渤海,地理坐标在北纬38°5′至38°3′,东经116°27′至117°9′之间。县政府驻沧州市新华区,全县总面积1527平方公里,其中耕地面积129万亩,总…

beidaihe

北戴河GEO优化

北戴河海滨地处河北省秦皇岛市中心的西部。是秦皇岛的城市区之一!受海洋气候的影响,夏无酷暑,冬无严寒,常年保持一级大气质量,没有污染,没有噪音,城市森林覆盖率54%,人均绿地630平方米…

haiyuan

海原谷歌SEM

位于中国宁夏回族自治区中南部。1991年底人口31.15万。回族为主,有汉、满、蒙古、东乡等民族。西汉属安定郡。清同治十三年(1874)设海城县。民国三年(1914)改海原县。地形复杂,多山地。年…

hengshui

衡水谷歌SEM

衡水市位于河北省东南部,东与沧州市和山东省德州市毗邻,西与石家庄市接壤,南与邢台市相连,北与保定市交界;南北长125.5公里,东西宽98.13公里,全市辖8县2市1区,总面积5815.4平方公里。衡…

xianxian

献县Facebook广告

献县历史悠久,夏商时期属冀州,春秋时属燕国,战国时属燕、赵、秦。早在春秋战国时期。境内就形成了具有一定影响力的城市——乐成。汉高祖六年(公元前201年)置河间郡,汉文帝二年…

zhongqing

重庆Facebook广告

重庆,简称渝或巴,是中华人民共和国中西部唯一的直辖市、国家中心城市、超大城市、国际大都市,长江上游地区的经济、金融、科创、航运和商贸物流中心,西部大开发重要的战略支点、“一带一路”…

wuzhong

吴忠Yandex推广

吴忠市位于宁夏回族自治区中部,东邻陕西定边县,西北和东北与内蒙古自治区阿拉善左旗、鄂托克前期接壤,西南和东南与甘肃靖远县、环县毗邻,北连永宁、陶乐两县,南接海原、固原两县,面积339…

kaizhou

开州Yandex推广

开州区隶属于重庆市,位于重庆市东北部,三峡库区小江支流回水末端,介于北纬30°49′30″-31°41′30″、东经107°55′48″-108°54′之间,西邻四川省开江县,北依大巴山接城口县和四川省宣汉县,东毗云…

yongning

永宁TikTok推广

永宁县地处宁夏平原中部,东临黄河,西倚贺兰山,是宁夏回族自治区首府银川市的郊县。全县国土面积1020平方公里,辖五镇一乡一个街道办事处,总人口20.4万人,有汉、回、满等13个民族,其中回…

为什么一定要选懂产业带的出海服务商?建材丝网的欧洲建筑商看资质与交期,工业橡塑的中东工程商问耐温与工况,毛皮服饰的俄罗斯分销商算的是季节与毛利。买家不同,决策逻辑就不同;信科网络把这些差异拆进网站结构、关键词地图和投放策略里,用他们习惯的方式出现在他们搜索的地方。