这个功能是一直想弄的,也许有些人用的插件啊什么的,不过我还是喜欢代码。这里是2个函数,分别是相关文章以及随机文章。可以在想要用的地方直接调用就好了。直接贴出代码来。。。。

相关文章:

/*------------------- Related Posts 相关文章:出自kan.willin.org,函数修改zww.me */
function RelatedPosts($post_num = 5) {
if(is_single()) {//只在文章页使用
$related_posts = '<h3>相关文章:</h3><ul>';
//$exclude_id = $post->ID; // 單獨使用要開此行
$posttags = get_the_tags(); $i = 0;
if ( $posttags ) { $tags = ''; foreach ( $posttags as $tag ) $tags .= $tag->name . ',';
$args = array(
'post_status' => 'publish',
'tag_slug__in' => explode(',', $tags), // 只選 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();
$related_posts .= '<li><a href="'.get_permalink().'" title="'.get_the_title().'">'.get_the_title().'</a></li>';
$exclude_id .= ',' . $post->ID; $i ++;
} wp_reset_query();
}
if ( $i < $post_num ) { // 當 tags 文章數量不足, 再取 category 補足.
$cats = ''; foreach ( get_the_category() as $cat ) $cats .= $cat->cat_ID . ',';
$args = array(
'category__in' => explode(',', $cats), // 只選 category 的文章.
'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();
$related_posts .= '<li><a href="'.get_permalink().'" title="'.get_the_title().'">'.get_the_title().'</a></li>';
} wp_reset_query();
}
$related_posts .= '</ul>';
return $related_posts;
}
}

随机文章:

function wp_get_random_posts ($limitclause="") {
global $wpdb, $post;
$q = "SELECT ID, post_title, post_content,post_excerpt, post_date, comment_count FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'post' AND ID != $post->ID ORDER BY RAND() $limitclause";
return $wpdb->get_results($q);
}
function output_random_posts($limitclause)
{
$related_posts = wp_get_random_posts($limitclause);
foreach ($related_posts as $related_post )
{
$output .= '<li>';
$dateformat = get_option('date_format');
$output .=  '<a href="'.get_permalink($related_post->ID).'" title="'.wptexturize($related_post->post_title).'">'.wptexturize($related_post->post_title).'</a>';
//$output .=  " (" . $related_post->comment_count . ")";
$output .=  '</li>';
}
$output = '<h3>随机文章:</h3><ul>' . $output . '</ul>';
echo $output;
}

使用的时候只要直接调用函数就可以了,比如我加在LOOP里面的

<?php echo RelatedPosts(5); ?>

<?php echo output_random_posts('LIMIT 5');?>

然后就可以输出了,如果再要改的话就是相关文章和随机文章的并排输出,可以看这里《两个图标或代码并排显示的办法》

其他的还有什么大家自己网上找到相关函数的代码就好了,自己找适合的位置加上去。。。哈哈 :colour: :devi: