如何在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

  • 2024-12-12
  • WordPress 教学

多语言表单有助于与全球观众沟通,使您的网站更易于使用,并吸引更多用户。本文介绍了如何使用WPForms和Formidable Forms插件在WordPress中创建多语言表单,以帮助您轻松实现这一目标。

閱讀更多
  • 2024-10-21
  • WordPress 教学

如果您在WordPress管理区域或其他地方遇到‘jQuery未定义’错误,不必担心,这是一个常见的问题。本文为您介绍了该错误的原因以及六种解决方法,以便让您的网站恢复正常运行。

閱讀更多
  • 2024-10-17
  • WordPress 教学

越来越多的人倾向于使用语音搜索而不是在搜索栏中输入关键词。语音搜索被认为是在线交互的未来,各种设备上数百万人每天都在使用它。与通过普通SEO优化网站一样,将网站适配语音搜索同样重要。在本文中,我们将深入探讨为什么语音搜索SEO如此重要,以及如何优化您的WordPress网站以捕获这些语音搜索。

閱讀更多

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