在前面国外主机优惠分享到\”放弃使用WordPress Related Posts插件的理由\”,本来还想用另外一款\”Yet Another Related Posts Plugin\”插件的,国外用户比较多,而且非常的热门,Matt Cutts也在博文中把这款相关文章插件作为推荐的首选。但是我在使用后发现其他都还不错,就是唯一不能自定义位置,他默认直接在文章底部显示,万一文章有模板底部添加内容,那内容就在调用下面。所以我还是放弃使用插件,直接采用无插件实现WordPress相关文章调用方法。
第一步,在需要添加相关内容调用的位置,编辑下面代码:
<div class=\”post-relate\”>
<h3>你可能喜欢如下内容:</h3>
<ul>
<php
$post_tags = wp_get_post_tags($post->ID);
if ($post_tags) {
foreach ($post_tags as $tag){
$tag_list[] .= $tag->term_id;
}
$post_tag = $tag_list[ mt_rand(0, count($tag_list) – 1) ];
$args = array(
\’tag__in\’ => array($post_tag),
\’category__not_in\’ => array(NULL),
\’post__not_in\’ => array($post->ID),
\’showposts\’ => 6,
\’caller_get_posts\’ => 1
);
query_posts($args);
if (have_posts()) : while (have_posts()) : the_post(); update_post_caches($posts); >
<li>
<a href=\”<php the_permalink(); >\” rel=\”bookmark\” title=\”<php the_title_attribute(); >\”><php the_title(); ></a>
</li>
<php endwhile; else : >
<php $ashu_cats = wp_get_post_categories($post->ID);
if( $ashu_cats ){
$args = array(
\’category__in\’ => array( $ashu_cats[0] ),
\’post__not_in\’ => array( $post->ID ),
\’showposts\’ => 6,
\’caller_get_posts\’ => 1
);
query_posts($args);
if( have_posts()):while(have_posts()):the_post();update_post_caches($posts);>
<li>
<a href=\”<php the_permalink(); >\” rel=\”bookmark\” title=\”<php the_title_attribute(); >\”><php the_title(); ></a>
</li>
<php endwhile; endif; wp_reset_query(); } >
<php endif; wp_reset_query(); } >
</ul>
<div class=\”clear\”></div>
</div>
第二步:样式添加
如果添加上述的代码后感觉界面还不错,就直接使用,如果不行,需要用到下面的样式。
/* post-relate */
.post-relate{padding:10px 5px;color:#888;}
.post-relate h3{margin:0;line-height:22px;Verdana;font-size:14px;}
.post-relate ul{margin:5px 15px;padding:0px 5px;}
.post-relate li{margin:0px 0px;padding:2px 0px 2px;}
样式还需要根据自己的需要调整。这样我们不用插件也能实现效果,降低WP的内存消耗。能不用插件尽量不使用。