首页 > WordPress学习 > WordPress置顶文章的调用方法和排除方法详解

WordPress置顶文章的调用方法和排除方法详解

时间:2022年11月18日 分类:WordPress学习 浏览量:442

WordPress中,可以设置文章置顶与否,那么文章置顶设置以后,如何在前端调用以及排除呢?

$args = array(
'posts_per_page' => 10,
'post__in' => get_option('sticky_posts'),
'caller_get_posts' => 1
);
query_posts($args);
while(have_posts()) :the_post();
//内容调用区域
endwhile;
wp_reset_query();

关键的参数为’post__in’ =>get_option(‘sticky_posts’)和’caller_get_posts’ => 0

‘post__in’ => get_option(‘sticky_posts’) //确定了该LOOP调用的是置顶文章列表。

‘caller_get_posts’ //的作用是排除非指定性文章,即除了置顶文章之外,不显示其他的文章。

‘posts_per_page’ => 10, //控制文章的数量

不添加的情况下,如果置顶文章条目不足’posts_per_page’规定的值,会用最新文章替补完整。

也可以使用判断函数:

if (have_posts()) :
while (have_posts()) : the_post();
if (is_sticky()):
the_content();
endif;
endwhile;

此外,我们也可以用WP_Query来实现:

$sticky = get_option('sticky_posts'):
$args = [
'post__in' => $sticky,
'caller_get_posts' => 0,
'orderby' => 'post__in',
'posts_per_page' => -1,
];
 
$query = new WP_Query();

详细的WP_Query函数使用查看这篇文章:WordPress自定义查询WP_Query()函数使用方法介绍

上面都是调用置顶文章的方法,接下来,我们来说下排除的:

第一种是使用caller_get_posts,上面有介绍,这里我们在主循环中,给caller_get_posts赋值1,排除置顶文章;

	$args=array(
	'post_status' => 'publish',
	'caller_get_posts' => 1,
	'posts_per_page' => 10,
	);

第二种是使用post__not_in来判断

'post__not_in' => get_option( 'sticky_posts' ),

代码示例:

        $args=array(
            'cat' => array(),
            'posts_per_page' => 1,
            'post__not_in' => get_option( 'sticky_posts' ),
            );

当然还有很多别的方法,大家可以根据实际需求来使用。

版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权

文章名称:WordPress置顶文章的调用方法和排除方法详解

文章链接:https://news.yynnw.com/125.html

该作品系作者结合个人学习经验及互联网相关知识整合。如若侵权请通过投诉通道提交信息,我们将按照规定及时处理。

标签:

最新文章