关于 WordPress “相关日志”插件的选择

一般来说,在每篇日志下面写上相关日志的链接,可以提高网站的 Page View,这个已经被证实是非常有效的。我的博客虽然日志不多,访问量也不大,但是希望每一篇日志都能有相关日志来支撑,每个访客都能不费劲的把他感兴趣的日志都看到。

WordPress 的官方插件中心 搜索了许多“Related Posts”插件安装尝试了,比如 RelatedYet Another Related Posts Pluginnrelate Related Content 等,基本没有满意的,不是需要手动填写相关日志 ID,就是需要访问每篇日志的时候实时查询,效率较低。

后来又在网上看到一篇手动修改的文章:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
$tags = wp_get_post_tags($post->ID);
if ($tags) {
$first_tag = $tags[0]->term_id;
$args=array(
'tag__in' => array($first_tag),
'post__not_in' => array($post->ID),
'showposts'=>5,
'caller_get_posts'=>1
);
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
?>

您可能对以下日志也感兴趣

<?php while ($my_query->have_posts()) : $my_query->the_post(); ?>
[" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title();?>](<?php the_permalink() ?)

<?php endwhile; ?>

<?php
}
}
wp_reset_query();
?>

尝试改了一下发现每次访问会增加 6 次查询,总觉得有些得不偿失。

今天偶然发现了一款名叫 Efficient Related Posts 的相关日志插件,感觉非常不错。这款插件第一次使用的时候会根据标签计算一下所有日志的相关度并保存起来(大约 1 个小时能处理 2000 篇日志),然后前台用户访问的时候就不再进行相关查询了。之后每写一篇新日志,在保存的时候会自动计算一下该篇新日志的相关日志,非常快捷准确。

配合 DB Cache Reloaded 这款数据库缓存插件使用,效果更好哦。