WordPress带有内置的分类法,类别和标签,可让您组织内…
您是否知道WordPress允许您使用粘性帖子功能来展示您的帖子。但是,粘性帖子是WordPress鲜为人知的功能之一。在本文中,我们将向您展示可以使用WordPress中的粘性帖子完成的6件事。
1.自动过期即时贴
如果您使用即时贴突出显示特殊事件或优惠券,那么该事件结束后,您将需要取消对该贴的粘贴。
这听起来像您应该自动化的不必要的工作。
只需安装并激活Expire Sticky Posts插件即可。激活后,您可以为即时贴设置过期日期。
有效期过后,您的粘性帖子将自动变为普通帖子。有关详细说明,请参阅我们的教程(带视频),该教程如何设置WordPress中粘性帖子的到期日期。

2.类别的便利贴
默认情况下,粘性帖子仅显示在您网站的首页上。但是,如果您想在类别存档页面上显示特色内容怎么办?
您可以通过安装并激活Category Sticky Post插件来做到这一点。激活后,编辑要突出显示的帖子,然后选择即时贴类别。
有关更多详细说明,请参阅有关如何在WordPress中为类别添加粘性帖子的教程。
3.显示最新的即时贴
通常,粘性帖子用于特色帖子,以显示您最突出的内容。但是过了一会儿,您以前的精选帖子在档案库中消失了。您可以通过在自定义档案页或网站上的其他任何地方显示旧的特色内容,使它们恢复生气。
只需将此代码粘贴到您主题的functions.php文件或特定于站点的WordPress插件中。
function
wpb_latest_sticky() {
/* Get all sticky posts */
$sticky
= get_option(
'sticky_posts'
);
/* Sort the stickies with the newest ones at the top */
rsort(
$sticky
);
/* Get the 5 newest stickies (change 5 for a different number) */
$sticky
=
array_slice
(
$sticky
, 0, 5 );
/* Query sticky posts */
$the_query
=
new
WP_Query(
array
(
'post__in'
=>
$sticky
,
'ignore_sticky_posts'
=> 1 ) );
// The Loop
if
(
$the_query
->have_posts() ) {
$return
.=
'<ul>'
;
while
(
$the_query
->have_posts() ) {
$the_query
->the_post();
$return
.=
'<li><a href="'
.get_permalink().
'" title="'
. get_the_title() .
'">'
. get_the_title() .
'</a><br />'
. get_the_excerpt().
'</li>'
;
}
$return
.=
'</ul>'
;
}
else
{
// no posts found
}
/* Restore original Post Data */
wp_reset_postdata();
return
$return
;
}
add_shortcode(
'latest_stickies'
,
'wpb_latest_sticky'
);
添加此代码后,只需[latest_stickies]
在要显示最新即时贴的位置创建简码即可。
有关详细说明,请访问我们的文章:如何在WordPress中显示最新的即时贴。
4.自定义帖子类型的粘性帖子
粘性帖子功能仅适用于WordPress帖子,但这并不意味着您不能为其他帖子类型添加此功能。
只需安装并激活Sticky Custom Post Types插件即可。激活插件后,请访问“设置”»“阅读”,并为所需的任何帖子类型启用即时贴。
有关更详细的说明,请查看我们的教程,了解如何在WordPress自定义帖子类型中添加粘性帖子。
5.如何从WordPress Loop中隐藏即时贴
使用粘性帖子时,您会注意到默认情况下WordPress在所有WordPress帖子的顶部显示您的粘性帖子。例如,如果您有一个循环来显示最近的帖子,则无论何时添加即时贴,即时贴都会显示在顶部。
为了避免这种情况,只需ignore_sticky_posts
在WordPress查询中使用参数,如下所示:
<?php
$args
=
array
(
'posts_per_page'
=> 10,
'ignore_sticky_posts'
=> 1
);
$the_query
=
new
WP_Query(
$args
);
if
(
$the_query
->have_posts() ) :
while
(
$the_query
->have_posts() ) :
$the_query
->the_post();
?>
请参阅我们的教程,了解如何从WordPress循环中排除粘性帖子,以获取更多详细说明。
6.设置粘性帖子的样式
想要在您的即时贴中添加自定义样式吗?
许多WordPress主题使用post_class()
功能自动为每个帖子添加帖子类别。如果您的主题已经在使用post_class()函数,那么您将看到粘性类已添加到您的粘性帖子中。
如果您的主题不是将粘性类添加到post容器div中,则可以通过将post_class()函数添加到post div或article容器中来自己添加粘性类。
<div id=
"post-<?php the_ID(); ?>"
<?php post_class(); ?>>
现在您可以使用了。sticky
您的子主题的样式表中的CSS类。以下是一些基本的CSS入门指南:
.sticky {
background-color
:
#ededed
;
border
:
1
px
solid
#f5f5f5
;
color
:
#272727
;
padding
:
5px
;
}
.sticky:before {
content
:
"Featured"
;
color
:
#FFF
;
background
:
#f20000
;
padding
:
10px
;
display
: inline-
block
;
text-align
:
right
;
float
:
right
;
font-weight
:
bold
;
text-transform
:
uppercase
;
}
这就是使用二十二十二主题在我们的演示站点上的外观。
仅此而已,我们希望本文能帮助您学习一些有趣的事情,这些事情与WordPress网站上的粘帖有关。