最新公告
  • 欢迎您光临大资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • query_posts()函数

    query_posts()函数 最后编辑:2021-04-26
    增值服务: 自动发货 使用说明 安装指导 环境配置二次开发BUG修复

    query_posts()函数

    制作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’); ?>

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

    <?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函数

    猜你在找

    • 2021-04-26Hi,初次和大家见面了,请多关照!

    售后服务:

    • 售后服务范围 1、商业模板使用范围内问题免费咨询
      2、源码安装、模板安装(一般 ¥50-300)服务答疑仅限SVIP用户
      3、单价超过200元的模板免费一次安装,需提供服务器信息。
      付费增值服务 1、提供dedecms模板、WordPress主题、discuz模板优化等服务请详询在线客服
      2、承接 WordPress、DedeCMS、Discuz 等系统建站、仿站、开发、定制等服务
      3、服务器环境配置(一般 ¥50-300)
      4、网站中毒处理(需额外付费,500元/次/质保三个月)
      售后服务时间 周一至周日(法定节假日除外) 9:00-23:00
      免责声明 本站所提供的模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: 3482249445@qq.com),我们会及时删除,给您带来的不便,我们深表歉意!

    Hi, 如果你对这款模板有疑问,可以跟我联系哦!

    联系作者
    升级SVIP尊享更多特权立即升级
    My title page contents
    召唤伊斯特瓦尔