WP_Query的使用方法 WORDPRESS

 $args = array(
					'post_type' => 	'post',
					'order'		=>	'DESC',
					'orderby'	=>	rand,
					'posts_per_page'	=>	4
				);



	$myposts = new WP_Query( $args );

	if($myposts -> have_posts()):
		while( $myposts -> have_posts() ) : $myposts -> the_post();
			get_template_part( 'template-parts/loop', $loop_temp );
		endwhile;
	endif;
	wp_reset_postdata(); //重置请求数据 

    //$myposts = array_shift ($myposts);
	//$myposts = array_shift ($myposts) ;

WP_Query 是 WordPress 提供的一个强大的查询工具,用于获取与当前页面或文章相关的内容。下面是 WP_Query 的所有参数及其讲解:

'author': 查询特定作者的文章。可以是作者 ID、作者登录名或作者昵称。

实用案例:查询作者为 "John Smith" 的所有文章。

$query = newWP_Query( array(
    'author_name' => 'john-smith'
) );
'cat': 查询特定分类目录的文章。可以是分类目录 ID、分类目录名称或分类目录 slug。

实用案例:查询分类目录为 "News" 的所有文章。

$query = newWP_Query( array(
    'category_name' => 'news'
) );
'category__and': 查询同时属于多个分类目录的文章。需要提供一个数组,包含多个分类目录 ID。

实用案例:查询同时属于分类目录 ID 2 和 3 的文章。

$query = newWP_Query( array(
    'category__and' => array( 2, 3 )
) );
'category__in': 查询属于多个分类目录中任意一个的文章。需要提供一个数组,包含多个分类目录 ID。

实用案例:查询属于分类目录 ID 2 或 3 的文章。

$query = newWP_Query( array(
    'category__in' => array( 2, 3 )
) );
'category__not_in': 查询不属于多个分类目录的文章。需要提供一个数组,包含多个分类目录 ID。

实用案例:查询不属于分类目录 ID 2 或 3 的文章。

$query = newWP_Query( array(
    'category__not_in' => array( 2, 3 )
) );
'tag': 查询特定标签的文章。可以是标签 ID、标签名称或标签 slug。

实用案例:查询标签为 "WordPress" 的所有文章。

$query = newWP_Query( array(
    'tag' => 'wordpress'
) );
'tag_id': 查询特定标签的文章。必须是标签 ID。

实用案例:查询标签 ID 5 的所有文章。

$query = newWP_Query( array(
    'tag_id' => 5
) );
'tag__and': 查询同时包含多个标签的文章。需要提供一个数组,包含多个标签 ID。

实用案例:查询同时包含标签 ID 5 和 6 的所有文章。

$query = newWP_Query( array(
    'tag__and' => array( 5, 6 )
) );
'tag__in': 查询包含多个标签中任意一个的文章。需要提供一个数组,包含多个标签 ID。

实用案例:查询包含标签 ID 5 或 6 的所有文章。

$query = newWP_Query( array(
    'tag__in' => array( 5, 6 )
) );
'tag__not_in': 查询不包含多个标签的文章。需要提供一个数组,包含多个标签 ID。

实用案例:查询不包含标签 ID 5 或 6 的文章。

$query = newWP_Query( array(
    'tag__not_in' => array( 5, 6 )
) );
'post_type': 查询特定类型的文章。可以是任何已注册的自定义文章类型或默认文章类型。

实用案例:查询类型为 "portfolio" 的所有文章。

$query = newWP_Query( array(
    'post_type' => 'portfolio'
) );
'post__in': 查询特定文章。需要提供一个数组,包含多个文章 ID。

实用案例:查询 ID 1、3 和 5 的文章。

$query = newWP_Query( array(
    'post__in' => array( 1, 3, 5 )
) );
'post__not_in': 查询除了特定文章之外的文章。需要提供一个数组,包含多个文章 ID。

实用案例:查询除了 ID 1、3 和 5 之外的所有文章。

$query = newWP_Query( array(
    'post__not_in' => array( 1, 3, 5 )
) );
's': 查询包含特定关键词的文章。

实用案例:查询包含关键词 "WordPress" 的所有文章。

$query = newWP_Query( array(
    's' => 'wordpress'
) );
'date_query': 查询在特定日期范围内发布的文章。需要提供一个数组,包含多个日期查询参数。

实用案例:查询在 2022 年 1 月 1 日至 2022 年 12 月 31 日之间发布的所有文章。

$query = newWP_Query( array(
    'date_query' => array(
        'after'  => '2022-01-01',
        'before' => '2022-12-31',
    ),
) );
'meta_query': 查询具有特定自定义字段值的文章。需要提供一个数组,包含多个自定义字段查询参数。

实用案例:查询具有自定义字段 "featured" 值为 "yes" 的所有文章。

$query = newWP_Query( array(
    'meta_query' => array(
        array(
            'key'   => 'featured',
            'value' => 'yes',
        ),
    ),
) );
'orderby': 指定结果集按哪个参数排序。可以是多个可排序的参数之一。

实用案例:按发布日期降序排列所有文章。

$query = newWP_Query( array(
    'orderby' => 'date',
    'order'   => 'DESC',
) );
'posts_per_page': 指定每页显示的文章数量。

实用案例:每页显示 10 篇文章。

$query = newWP_Query( array(
    'posts_per_page' => 10,
) );
WP_Query循环查询案例

    $args = array(
            'post_type' => 'post', 
            'orderby' => 'date', 
            'order' => 'DESC',   
            
    );
    $query = new WP_Query( $args );
?>
 
have_posts() ) { while ( $query->have_posts() ) { $query->the_post(); ?>
 
           
        

以上是一些常用的 WP_Query 参数及其实用案例。 WP_Query 支持许多其他参数,可以在 WP_Query 文档中查看完整列表和用法。 

WP_Query中提供了 order 和 orderby 参数,可以很方便的对查询出的文章排序。

order 支持 ASC 顺序 和 DESC 逆序。

orderby 即排序方式,支持的方式则可谓五花八门。

none - 不排序;

ID - 按文章ID排序;

author - 按作者排序;

title - 按文章标题排序;

name - 按文章slug排序;

type - 按文章类型排序;

date - 按文章发布日期排序;

modified - 按文章修改日期排序

parent - 按文章parent排序;

rand - 随机顺序

comment_count - 按评论数量排序

menu_order - 文章类型为page时,即页面,编辑时可看见【页面属性】里有排序,可设置数值。当文章为post时,这个数值为0。所以说,只有当文章类型是 page 时,按menu_order排序才有效;

meta_key,meta_value - 根据文章的附属属性排序。还可以使用 meta_type 设置 meta 的数据类型,如NUMERIC, BINARY, CHAR, DATE, DATETIME, DECIMAL, SIGNED, TIME, UNSIGNED等,相应的应当使用meta_value_*,如meta_value_num、meta_value_datetime 等;

post_in - 需和参数 post_in 配合使用;

post_name_in -  需和参数 post_name_in 配合使用;

post_parent_in -  需和参数 post_parent_in 配合使用;

你可能感兴趣的:(Wordpress,PHP,数学建模)