码迷,mamicode.com
首页 > 其他好文 > 详细

WordPress主题开发:WP_Query基本用法

时间:2017-02-12 01:03:18      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:res   log   odex   数据   _id   array   ref   blog   post   

为什么要学WP_Query?

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

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

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

 

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

<?php
 // 1.用于查询的参数或者参数集合
$args = array(
  ‘post_type‘=>‘post‘
);
 
// 2.查询
$query = new WP_Query( $args );

// 3.判断查询的结果,有内容则循环
if ( $query->have_posts() ) {
    while ( $query->have_posts() ) {

        $query->the_post();
 
        // 内容输出
        echo ‘<a href="‘.get_the_id().‘">‘ . get_the_title() . ‘</a>‘;
    }
}

// 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‘ );

 

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

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

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

 

WordPress主题开发:WP_Query基本用法

标签:res   log   odex   数据   _id   array   ref   blog   post   

原文地址:http://www.cnblogs.com/tinyphp/p/6379959.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!