如何在WordPress自定义文章类型归档中添加置顶文章

09/07/2022

为什么让WordPress自定义文章置顶?

如果您为WordPress网站创建了不同格式的内容,例如书评网站,您可能已经创建了“书评”这一自定义文章类型。将重要内容置顶是突出时效性和受欢迎内容的最佳方式之一。然而,WordPress默认的置顶功能不适用于自定义文章类型。

在自定义文章类型中添加置顶文章

首先,您需要安装并激活“Sticky Posts – Switch”插件。在激活后,访问插件设置页面,勾选您希望置顶的自定义文章类型,例如“书评”。保存更改后,在该自定义文章类型的管理页面,您会看到一个新列,点击星标即可置顶文章。

在自定义文章归档中显示置顶文章

要将置顶文章显示在自定义文章归档页面顶部,需创建新的模板文件。使用FTP客户端或文件管理器,进入网站的/wp-content/themes/YOURTHEME/目录,创建一个新文件,例如archive-POSTTYPE.php,将archive.php的内容复制粘贴到这个新文件中。

之后,在主题的functions.php文件或代码片段插件中添加以下代码:

function wpb_cpt_sticky_at_top( $posts ) {
if ( is_main_query() && is_post_type_archive() ) {
global $wp_query;
$sticky_posts = get_option( 'sticky_posts' );
$num_posts = count( $posts );
$sticky_offset = 0;
for ($i = 0; $i < $num_posts; $i++) {
if ( in_array( $posts[$i]->ID, $sticky_posts ) ) {
$sticky_post = $posts[$i];
array_splice( $posts, $i, 1 );
array_splice( $posts, $sticky_offset, 0, array($sticky_post) );
$sticky_offset++;
$offset = array_search($sticky_post->ID, $sticky_posts);
unset( $sticky_posts[$offset] );
}
}
if ( !empty( $sticky_posts) ) {
$stickies = get_posts( array(
'post__in' => $sticky_posts,
'post_type' => $wp_query->query_vars['post_type'],
'post_status' => 'publish',
'nopaging' => true
) );
foreach ( $stickies as $sticky_post ) {
array_splice( $posts, $sticky_offset, 0, array( $sticky_post ) );
$sticky_offset++;
}
}
}
return $posts;
}
add_filter( 'the_posts', 'wpb_cpt_sticky_at_top' );
function cpt_sticky_class($classes) {
if ( is_sticky() ) :
$classes[] = 'sticky';
return $classes;
endif;
return $classes;
}
add_filter('post_class', 'cpt_sticky_class');

此代码将置顶文章移至顶部,并在主题的样式表中应用“sticky”类名,从而您可以使用CSS对其进行样式化。

使用以下示例代码在style.css文件中调整样式:

.sticky {
background-color:#ededed;
background-image:url('http://example.com/wp-content/uploads/featured.png');
background-repeat:no-repeat;
background-position:right top;
}

我们希望这篇教程能帮助您在WordPress自定义文章类型归档中添加置顶文章,您可能还会对以下内容感兴趣:

  • 如何在WordPress中快速轻松地添加置顶文章
  • 如何为分类目录添加置顶文章
  • WordPress中置顶文章的更多妙用
  • 如何从循环中排除置顶文章
  • 如何重新排序WordPress中的文章
  • 如何创建粘性浮动导航菜单
  • 如何创建粘性浮动侧边栏小部件
  • 如何创建粘性浮动页脚栏

如果您喜欢本文,请订阅我们的YouTube频道,获取更多WordPress视频教程。您还可以在推特和Facebook上找到我们。



Related Posts

  • 2025-02-16
  • WordPress 教学

你是否想过,能不能用更引人注目的方式取代WooCommerce中基本的促销徽章?答案是肯定的!通过自定义产品徽章,你可以在在线商店中突出新产品、折扣商品或限时优惠。在这篇文章中,我们将展示给你两个简单的方法,使用强大的插件或添加简单代码来为你的WooCommerce商店添加自定义产品徽章。

閱讀更多
  • 2025-01-18
  • WordPress 教学

我们都知道推荐计划是强大的武器。但要找到真正的品牌代言者并不容易。许多计划吸引的只是想快速赚钱的人,导致非真实的推广,无法有效转化客户。幸好,作为 WooCommerce 商店的店主,您有一个巨大的优势:一群真正喜爱和使用您产品的内置客户群。通过将这些现有客户转化为推广合伙人,您可以释放真实口碑营销的力量。

閱讀更多
  • 2025-01-10
  • WordPress 教学

最近,我们的一位比利时读者在其在线商店中苦于销售增长缓慢。除了其他建议外,我们建议他们在网站上设置Bancontact支付。Bancontact是一种主要在比利时使用的流行支付系统,客户可以通过银行账户进行安全的实时支付。

閱讀更多

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}
>