WordPress通过标签添加相关文章功能

作者: 时间:
浏览 : 749

WordPress默认的模板没有相关文章的功能,将下面的代码放在文章页模板文章结束位置即可实现相关文章的功能。原理是获取当前文章的标签,输出该标签下最近的10篇文章,如果该标签下不够10篇文章则补充最新文章凑成10篇。$post_num后面的数值就是要调用的文章数量。

<h3>相关文章</h3>
<ul class="related_posts">
<?php
$post_num = 10;
$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(); ?>
<li><a rel="bookmark" href="<?php the_permalink(); ?>" title="<?php the_title(); ?>" target="_blank"><?php the_title(); ?></a></li>
<?php
$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(); ?>
<li><a rel="bookmark" href="<?php the_permalink(); ?>"  title="<?php the_title(); ?>" target="_blank"><?php the_title(); ?></a></li>
<?php $i++;
} wp_reset_query();
}
if ( $i  == 0 )  echo '<li>没有相关文章!</li>';
?>
</ul>

 

Tag标签:

《“WordPress通过标签添加相关文章功能”》 有 1 条评论

  1. 绿软吧

    感谢分享,谢谢站长!!

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注