很多网站多安装了无觅,友荐的相关文章插件,来提升网站PV和用户粘度.但像蜀黍这种不喜欢用插件的yin来说,(我实在不想用插件啊 )加载速度等虾米圈圈叉叉的,都有一定影响很多朋友一直问:非插件实现友荐,无觅相关文章的功能.今天就给大家说明下怎么实现这个非插件实现无觅、友荐相关文章功能功能。
以下是php代码


<!--?php $post_num = 5; // 数量设定. $exclude_id = $post--->ID; // 单独使用要开此行 
$posttags = get_the_tags(); $i = 0;
if ( $posttags ) {
$tags = ''; foreach ( $posttags as $tag ) $tags .= $tag->term_id . ','; //zww: edit
$args = array(
'post_status' => 'publish',
'tag__in' => explode(',', $tags), // 只选 tags 的文章. //zww: edit
'post__not_in' => explode(',', $exclude_id), // 排除已出现过的文章.
'ignore_sticky_posts' => 1,
'orderby' => 'comment_date', // 按评论日期排序.
'posts_per_page' => $post_num
);
query_posts($args);
while( have_posts() ) { the_post(); ?>
<!--?php $soContent = $post--->post_content; //axiu: 获取文章第一个图片
$soImages = '~<img alt="" />]*\ />~';
preg_match_all( $soImages, $soContent, $thePics );
$allPics = count($thePics[0]);
if( $allPics > 0 ){
echo '


';
}
else {
echo '


';
}?>
<!--?php $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),
'ignore_sticky_posts' => 1,
'orderby' => 'comment_date',
'posts_per_page' => $post_num - $i
);
query_posts($args);
while( have_posts() ) { the_post(); ?>
<!--?php $soContent = $post--->post_content; //axiu: 获取文章第一个图片
$soImages = '~<img alt="" />]*\ />~';
preg_match_all( $soImages, $soContent, $thePics );
$allPics = count($thePics[0]);
if( $allPics > 0 ){
echo '


';
}
else {
echo '


';
}?>

<!--?php $i++;<br ?-->} wp_reset_query();
}
if ( $i == 0 ) echo '
  • 没有相关文章!

';
?>

下边是css


/*--Relate--*/
.Related_Posts {
margin-top:9px;
margin-left:15px;
width:700px
}
.Related_Posts_tittle {
margin-top:-3px;
line-height:17px;
color:#515151 !important;
font-size:12px !important;
width:96px;
height:32px;
overflow:hidden
}
.Related_Posts li {
float:left;
margin:0 32px 0 0
}
.Related_Posts ul li img {
width:90px;
height:90px;
background:#F4F4F4;
border:1px solid #D8D8D8;
padding:2px
}

//样式自己可以自己修改 这里只是示例)
//复制css 将php代码放到single.php的适当位置,注意添加
< div class=”Related_Posts”></div >
//否则无法实现
//或者你也可以将php另存为relatedposts.php 放到主题目录
//直接<?php include(“relatedposts.php”); ?>调用即可方便各个主题使用