在Discuz!中为网站添加“相关文章”功能,可以显著提升用户停留时长和网站的SEO表现。根据你的内容类型(门户文章或论坛帖子),主要有以下几种实现方式。
📄 针对“门户文章”的相关文章
方法一:手动添加(最精准)
这是Discuz!系统自带的功能,可以精确控制显示哪些相关文章。
- 进入后台:登录Discuz!管理后台。
- 管理文章:进入“门户” -> “文章管理”,找到并编辑你想要添加相关文章的那一篇。
- 添加关联:在文章编辑页面的下方,找到“添加相关文章”按钮并点击。
- 选择文章:在弹出的窗口中,从文章列表里勾选内容相近的文章。
- 保存:你可以为选中的相关文章设置排序,提交保存即可。这些文章会以“相关阅读”的形式展示在前端。
方法二:自动调用(更省力)
如果你希望系统根据规则自动推荐,可以通过修改代码来实现。
- 找到文件:通过FTP或文件管理器,找到
../source/module/portal/portal_view.php这个文件。 - 插入代码:在文件中找到
$article['allowcomment'] = ...这行代码,在它的上面插入以下代码:php $article['related'] = array(); $query = DB::query("SELECT aid,title FROM ".DB::table('portal_article_title')." where catid='$article[catid]' order by rand() limit 12"); while ($value = DB::fetch($query)) { $value['uri'] = fetch_article_url($value); $article['related'][] = $value; } - 解释说明:这段代码会从同一栏目(
catid)下随机选取12篇文章作为相关文章。你可以将代码中的数字12改成你希望显示的数量,例如10。 - 更新缓存:保存文件后,到Discuz!后台的“工具” -> “更新缓存”中更新所有缓存,即可看到效果。
💬 针对“论坛帖子”的相关帖子
论坛的“相关帖子”功能主要依靠系统内置机制,配置更简单。
方法一:开启系统内置功能
这是最推荐、最稳定的方式。
- 进入后台:登录Discuz!管理后台。
- 开启功能:进入“全局” -> “积分策略” -> “相关主题”,确保“显示相关主题”已勾选启用。
- 配置参数:你可以在“论坛” -> “基本设置”中,找到“相关主题显示数目”等选项,设置显示的文章数量。
- 更新缓存:修改后,同样需要到“工具” -> “更新缓存”中更新缓存。
工作原理:系统会根据帖子的标题关键词和标签(Tag) 自动进行匹配。
方法二:手动修改模板代码(备选)
如果内置功能无法满足需求,可以尝试手动修改模板。
- 找到模板文件:通过FTP找到并编辑模板文件
forum/viewthread.htm。 - 插入标签:在你想显示“相关帖子”的位置,插入模板标签
{relatedthreads}。 - 保存更新:保存文件并更新缓存。
🧩 使用插件(最灵活)
Discuz!应用中心拥有大量插件,可以实现更强大的“相关文章/帖子”功能。
- 优势:功能更强大,如基于用户行为推荐、更美观的展示样式等。
- 操作:登录你的Discuz!后台,进入“应用” -> “应用中心”,搜索“相关文章”、“相关帖子”或“帖子聚合”等关键词,根据需求选择合适的插件安装即可。
💎 总结与建议
- 追求精确控制:如果你希望手动挑选关联性最强的文章,门户文章-手动添加是最佳选择。
- 追求简单高效:如果你希望系统自动推荐,论坛帖子-系统内置功能最省心省力。
- 追求强大功能:如果你需要更智能的推荐算法或更美观的展示样式,可以尝试在应用中心寻找合适的插件。
最后提醒:无论采用哪种方法,修改后记得更新Discuz!系统缓存,新功能才能在前台正常显示。