Wordpress开发过程中使用WP_Query时的常用参数

在Wordpress主题开发过程中不可避免地会使用其查询(Query)功能。对于静态页面WordPress通过相关的ID来查询相关页面并显示。而对于类如归档等动态页面Wordpress将检索该归类下的所有文章,并以列表的形式输出到页面。

这里重点对WP_Query()的常用参数及功能进行整理(非完全版),在我制作的主题中我通常会这么用。

主循环实例

<div id="site-recent-content" class="main recent-content front-page-main-content">
<?php $args = array( 'post__not_in' => get_option( 'sticky_posts' ), 'posts_per_page' => 5 ); ?>       
<?php $loop = new WP_Query( $args ); ?>

<?php
/* If Have Post */
if ( $loop->have_posts() ) : ?>

    <?php
    /* Start the Loop */
    while ( $loop->have_posts() ) : $loop->the_post(); ?>

    <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>

        <header class="entry-header">
            <?php the_title( sprintf( '<h3 class="entry-title"><a href="%s" rel="bookmark">', esc_url( get_permalink() ) ), '</a></h3>' ); ?>
        </header><!-- .entry-header -->

        <div class="entry-summary">
            <?php the_excerpt(); ?>
        </div><!-- .entry-summary -->

    </article><!-- #post-<?php the_ID(); ?> -->

    <?php 
    /* End the Loop */
    endwhile;?>

<?php
/* No post */
else :

    get_template_part( 'template-parts/content', 'none' );

endif; ?>

</div>

常用参数及功能

调用文章或页面

s 查询和某个关键词相关的所有的文章/页面信息
p 文章或页面id
post__in 多篇id
post__not_in 多篇id以外
post_type 查询的信息类型,默认调用的是文章类型的,post为页面类型

查询某个作者发布的信息

author 按作者id
author_name 按作者别名
author__in 多个作者 'author__in' => array(1, 2)
author__not_in 除了某个作者以外'author__not_in' => array(2)

按分类目录或标签

cat 按分类目录编号
category_name 按分类目录的别名
category__in 同时查询多个目录id
category__and 既在a目录又在b目录
tag 标签别名
tag_id 按标签编号

分页参数

posts_per_page 每页显示信息数量
paged 分页时显示第几页,需设值获取当前页的分页码:get_query_var('paged')

排序

order 升序降序,默认为'DESC'降序,ASC升序
orderby 按什么排,比如按ID

标签: wordpress

添加新评论