摘要:很久就想把相关文章或说相关日志功能加上了,应该来说,相关文章功能对文章浏览量的增加还是有好处的。就自己而言,看到某篇文章,也会留意是否有相关联的文章,以增加对这个主题的了解。
从当前使用来看,博客增加了相关文章功能,文章的浏览量还是有大幅度提高的,所以,如果没有增加的话,还是花点时间增加此功能。毕竟对网站有好处。
相关文章功能不使用插件而是用源代码实现,可在单篇文章和 feed 中生成相关文章,而且带缩略图显示。相关文章是根据文章标签自动生成的。所以,写博客文章的时候一定要选好或设计好文章标签,尽量把相关联主题内容的文章都串联起来。
1. 关于文章缩略图
velep.com用的是suffusion主题,而这个主题本身就带了缩略图功能了。在编写文章时,下方有一个Addition Options for Suffusion栏,可在这里设置缩略图,如下图所示:
如上图所示,在Addition Options for Suffusion栏Images的Thumbnail中我指定了一张图片。
如果你的主题不支持像suffusion主题带的这个功能,不要着急,wordpress已经带了这个功能了。在编写文章时,右下解有一个“设置特色图像”,实际上就是插入图片, 不过,与在文章中插入图片不一样,尺寸要选择缩略图,并选择作为特色图像。
2. 添加相关文章功能源代码
把以下代码放入主题下 functions.php 中(加在尾部):
// 增加相关日志功能 add start by gyr 2012.03.18
function wp_get_related_posts()
{
global $wpdb, $post,$table_prefix;
$limit = 6; //显示几条相关文章
if(!$post->ID){
return;
}
$now = current_time('mysql', 1);
$tags = wp_get_post_tags($post->ID);
$taglist = "'" . $tags[0]->term_id. "'";
$tagcount = count($tags);
if ($tagcount > 1) {
for ($i = 1; $i term_id . "'";
}
}
$limitclause = "LIMIT $limit";
$q = "SELECT p.ID, p.post_title, p.post_date, p.comment_count, count(t_r.object_id) as cnt FROM $wpdb->term_taxonomy t_t, $wpdb->term_relationships t_r, $wpdb->posts p WHERE t_t.taxonomy ='post_tag' AND t_t.term_taxonomy_id = t_r.term_taxonomy_id AND t_r.object_id = p.ID AND (t_t.term_id IN ($taglist)) AND p.ID != $post->ID AND p.post_status = 'publish' AND p.post_date_gmt get_results($q);
$output = "";
if (!$related_posts)
{
$output .= '<li>无相关文章</li>';
}
foreach ($related_posts as $related_post )
{
if ( has_post_thumbnail($related_post->ID) ) {
$related_thumb = get_the_post_thumbnail($related_post->ID,array(48,48),array('class'=>'relatedimg'));
} else {
$related_thumb = '<img class="relatedimg" src="http://velep.com/wp-content/uploads/related_posts/related_posts_default.png" />';//无缩略图时显示默认图片
}
$dateformat = get_option('date_format');
$output .= '<li>'.$related_thumb;
$output .= '<a>ID).'" title="'.wptexturize($related_post->post_title).' ('.mysql2date($dateformat, $related_post->post_date).')">'.wptexturize($related_post->post_title).'</a>';
$output .= '</li>';
}
$output = '<div><hr><h3>相关文章</h3><ul>' . $output . '</ul></div>';
return $output;
}
function wp_related_posts_attach($content)
{
if (is_single()||is_feed())
{
$output = wp_get_related_posts();
$content = $content . $output;
}
return $content;
}
add_filter('the_content', 'wp_related_posts_attach', 100);
// add end by gyr 2012.03.18
function wp_get_related_posts()
{
global $wpdb, $post,$table_prefix;
$limit = 6; //显示几条相关文章
if(!$post->ID){
return;
}
$now = current_time('mysql', 1);
$tags = wp_get_post_tags($post->ID);
$taglist = "'" . $tags[0]->term_id. "'";
$tagcount = count($tags);
if ($tagcount > 1) {
for ($i = 1; $i term_id . "'";
}
}
$limitclause = "LIMIT $limit";
$q = "SELECT p.ID, p.post_title, p.post_date, p.comment_count, count(t_r.object_id) as cnt FROM $wpdb->term_taxonomy t_t, $wpdb->term_relationships t_r, $wpdb->posts p WHERE t_t.taxonomy ='post_tag' AND t_t.term_taxonomy_id = t_r.term_taxonomy_id AND t_r.object_id = p.ID AND (t_t.term_id IN ($taglist)) AND p.ID != $post->ID AND p.post_status = 'publish' AND p.post_date_gmt get_results($q);
$output = "";
if (!$related_posts)
{
$output .= '<li>无相关文章</li>';
}
foreach ($related_posts as $related_post )
{
if ( has_post_thumbnail($related_post->ID) ) {
$related_thumb = get_the_post_thumbnail($related_post->ID,array(48,48),array('class'=>'relatedimg'));
} else {
$related_thumb = '<img class="relatedimg" src="http://velep.com/wp-content/uploads/related_posts/related_posts_default.png" />';//无缩略图时显示默认图片
}
$dateformat = get_option('date_format');
$output .= '<li>'.$related_thumb;
$output .= '<a>ID).'" title="'.wptexturize($related_post->post_title).' ('.mysql2date($dateformat, $related_post->post_date).')">'.wptexturize($related_post->post_title).'</a>';
$output .= '</li>';
}
$output = '<div><hr><h3>相关文章</h3><ul>' . $output . '</ul></div>';
return $output;
}
function wp_related_posts_attach($content)
{
if (is_single()||is_feed())
{
$output = wp_get_related_posts();
$content = $content . $output;
}
return $content;
}
add_filter('the_content', 'wp_related_posts_attach', 100);
// add end by gyr 2012.03.18
注:把上述代码中的无缩略图时显示默认图片的URL换成你自己的。
具体效果见本文下方的相关文章。
» 文章出处:
reille博客—http://velep.com
, 如果没有特别声明,文章均为reille博客原创作品
» 郑重声明:
原创作品未经允许不得转载,如需转载请联系reille#qq.com(#换成@)