zoukankan      html  css  js  c++  java
  • WordPress主题开发:WP_Query基本用法

    为什么要学WP_Query?

    wordpress默认会根据网址调用数据,不能满足我们所有建站要求,而WP_Query可以用于查询任何你想要的内容,相当于自定义数据调用。

    便于记忆,在讲用法之前我们回顾一下循环的写法:if..else 其他>>>

    <?php if( have_posts() ) : while( have_posts() ) : the_post(); ?>
    <!-- 在这里调用数据 -->
    <?php endwhile; ?>
    <?php endif; ?>

    WP_Query用法:设定条件->查询->循环调用,下面可以看出循环的用法就是比以前的多了$myquery->

    <?php
     // 1.用于查询的参数或者参数集合
    $args = array(
      'post_type'=>'post'
    );
    
    // 2.查询
    $myquery=new WP_Query($args);
    
    // 3.判断查询的结果,有内容则循环
    if($myquery->have_posts()):while($myquery->have_posts()):$myquery->the_post();
    ?>
    
    //输出循环结构
    
    <?php 
    endwhile;
    endif;
    // 4.重置请求数据
    wp_reset_postdata();
    ?>

    然后我们搜索不同的内容只需要修改里面的条件就可以了~实战一下吧

    调用单篇信息:

    根据文章id查询文章信息=http://localhost/wordpress/?p=36 数据

    $query = new WP_Query( 'p=36' );

    等同:

    $args = array(
      'p'=>'36'
    );
    $query = new WP_Query( $args  );

    根据文章分类调用数据 = http://localhost/wordpress/?cat=8 数据

    $query = new WP_Query( 'cat=9' );

    根据页面的ID调用数据 =http://localhost/wordpress/?page_id=7 数据

    $query = new WP_Query( 'page_id=7' );

    ...

    =================================================================

    如果调用多篇信息呢?

    调用文章id为34、32、30的,

    $args = array(
      'post__in'=>array(34,32,30)
    );

     还有排除法,除了文章id为3的都显示:

    $args = array(
    'post__not_in'=>array(3)
    );

    post__in默认调用的是文章信息,如果要调用页面,则需要指定类型

    $args = array(
    'post_type'=>'page',
    'post__in'=>array(3)
    );

    =================================================================

    调用全部页面

    $query = new WP_Query( 'post_type=page' );

    调用全部文章

    $query = new WP_Query( 'post_type=post' );

    基本的练习完成了,想必你已经知道函数的用法了,给自己列个条件清单吧~那以后就可以直接拿来用了

    ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼

    >>>>>官方函数说明>>>

  • 相关阅读:
    关系数据模型和对象数据模型之间的对应关系
    object中的方法
    重写与重载
    java中的多态总结
    int是java.lang包中可用的类的名称
    abstract关键字的说法
    7迭代器
    6python *args **kwargs
    1特征工程
    1html
  • 原文地址:https://www.cnblogs.com/tinyphp/p/6379959.html
Copyright © 2011-2022 走看看