看其他人的Wordpress站点等都有相关文章,所以自己也弄了个。之前装了个插件,不过感觉不怎么样,如图。
用户体验不好,放在侧边栏去了。于是网上找代码实现相关文章的。本文也是参照这篇文章的,
访问支教第十天-感恩的心,效果上图1,因其标签比较丰富,可以提取到相同tag的,但遇到这种情况例如:之前发过的一篇:
技术贴-把妹高手谈如何跟刚搭讪认识的妹子发短信时,因为tag没有没有设置或者其他没有相关的tag于此匹配,此时就只能展示随机文章了,上图2.
曾想,这里的随机是有点不爽,此时展示同分类目录下的文章要比这个好吧. 于是想法取出当前文章所在同分类下的文章,开始是试图找一个sql语句把所有的文章的tag中都将本文所在的分类目录加进去,但这样似乎有点不符合逻辑.看之前用代码实现的相关文章的源代码:查看随机文章时调用如下的函数
function wp_get_random_posts ($limitclause="") { |
首先要获取当前文章所在的分类目录的ID,为了方便管理调试Wordpress,我的机子上也配好了Wordpress环境了.随时配置下host就能正常访问本地的博客.通过各种关键字试图搜索(Wordpress下所有文件递归关键字,eg: wp_get_post_category啊之类)显示分类目录的ID,最后找到这个函数
/** |
不过意思好像是废弃了,就直接调用这个函数吧
$categories = get_the_category(); |
就得到当前分类目录的ID,然后就是调试sql了。先打印出来试试,正确的。
分类目录保存在wp_terms 表中,select * from wp_terms where term_id = 56;
然后就慢慢一层一层找,如下sql能找到对应分类下的文章:再然后就改掉之前的代码就OK了。
本地sql数据库调试出来结果来再改。写成一个函数
function wp_get_category_posts ($limitclause="") { |
下面的显示
//不存在相关日志则显示随机日志 |
然后得到的效果就是现在这个样子了。