WordPress添加相关文章功能

本文将教会你如何为WordPress添加相关文章功能。相关文章的获取思路是:Tags标签相关>同分类下文章,也就是说,先获取标签相同的文章,如果还达不到数量,就调用该分类下的文章补足。获取方法貌似最初来自Willin Kan 大师,倡萌再次修改。

likearticle

  将下面的代码添加到 single.php 要显示相关文章的位置即可:

相关文章

$post_num = 8;

$exclude_id = $post->ID;

$posttags = get_the_tags(); $i = 0;

if ( $posttags ) {

$tags = ”; foreach ( $posttags as $tag ) $tags .= $tag->term_id . ‘,’;

$args = array(

‘post_status’ => ‘publish’,

‘tag__in’ => explode(‘,’, $tags),

‘post__not_in’ => explode(‘,’, $exclude_id),

‘caller_get_posts’ => 1,

‘orderby’ => ‘comment_date’,

‘posts_per_page’ => $post_num,

);

query_posts($args);

while( have_posts() ) { the_post(); ?>

$exclude_id .= ‘,’ . $post->ID; $i ++;

} wp_reset_query();

}

if ( $i < $post_num ) {

$cats = ”; foreach ( get_the_category() as $cat ) $cats .= $cat->cat_ID . ‘,’;

$args = array(

‘category__in’ => explode(‘,’, $cats),

‘post__not_in’ => explode(‘,’, $exclude_id),

‘caller_get_posts’ => 1,

‘orderby’ => ‘comment_date’,

‘posts_per_page’ => $post_num – $i

);

query_posts($args);

while( have_posts() ) { the_post(); ?>

} wp_reset_query();

}

if ( $i == 0 ) echo ‘

没有相关文章!

‘;

?>

PS:第四行$post_num = 8;表示显示8篇文章,请根据自己的需要修改。

显示样式需要自己写css,可以参考一下下面的:

.related_posts{margin-top:5px;}

.related_posts li{margin-left:20px;color:#444;list-style:circle;font-size:14px;line-height:26px;padding:0 0 0 5px}

网上找了很多方法,这个还是比较实用的。我自己用的就是这个方法,好像还有个带缩略图的,但是我个人觉得不是很必要。具体样式见本文下面,css样式方面可以自行修改。

您可能对以下内容感兴趣