拥有一个结构合理的博客分类对于读者来说是十分有益的,这意味着你可能无需设置“相关文章”部分,只需展示同一类别下的最新文章即可。在这篇文章中,我们将探讨“本类别中的更多”功能,它可作为“相关文章”的另一种选择。
如果你的博客文章组织得井井有条,按照类别划分,你会发现提供一个在文章类别内的文章列表非常有用,而不是依赖于相关性不强的“相关文章”推荐。比如,如果你的博客关注的是不同行业,那么在一篇关于信息技术的文章下方显示纺织业的新闻作为“相关文章”并不合适。相反,显示同一类别的最新文章会更加相关和有用。
创建“本类别中的更多内容”列表
实现这一功能其实相当简单。我们只需要获取文章的分类,并列出该分类中的最新文章,确保不包括用户刚刚阅读过的那篇。在WordPress中,我们可以通过`get_posts()`函数来实现这一点,该函数允许我们设置所需的参数。
“`php
// “更多来自此类别” 列表 by Barünver @ WP tuts+
function WPtuts_more_from_cat($title = “更多来自此类别:”) {
global $post;
// 获取文章的第一个分类
$categories = get_the_category($post->ID);
$first_cat = $categories[0]->cat_ID;
// 输出标题并开启
-
$output = ‘
- ‘ . $post_title . ‘
‘ . $title . ‘
‘;
// 设置文章列表参数
$args = array(
// 应该在我们的第一个分类中
‘category__in’ => array($first_cat),
// 不应包含已阅读的文章
‘post__not_in’ => array($post->ID),
// 获取5篇文章(可自定义数量)
‘posts_per_page’ => 5
);
// 使用get_posts()函数
$posts = get_posts($args);
if ($posts) {
$output .= ‘
- ‘;
foreach ($posts as $post) {
setup_postData($post);
$post_title = get_the_title();
$permalink = get_permalink();
$output .= ‘
‘;
}
$output .= ‘
‘;
} else {
// 如果没有其他文章,给出提示
$output .= ‘
抱歉,此类别只有一个文章,您刚刚阅读了它!
‘;
}
// 关闭
$output .= ‘
‘;
return $output;
}
“`
这段代码可以添加到你的`functions.php`文件中,或者创建一个独立的插件。然后在需要的地方调用这个函数,如:
“`php
echo WPtuts_more_from_cat();
“`
总结来说,虽然内容至关重要,但如果孤立存在,可能无法吸引和留住读者。还有其他页面元素可以增强用户体验,例如:相关类别、作者简介、热门文章或评论区等。欢迎在评论中分享你的想法,讨论更多能提升博客质量的元素!