本文来介绍下wordpress的相关文章功能实现代码。
首先还是来说明下这个相关文章是个什么逻辑,文章的相关性都是通过tag标签来关联的,如果两篇文章拥有相同的tag标签,则其中一篇文章的相关文章模块里面会显示另外一篇文章。
直接上wordpress的相关文章功能代码:
<?php
$posttags = get_the_tags();
$category = get_the_category($post->ID);
$the_cate_id = $category[0]->term_id;
$xg_array = array();
if ($posttags) {
$tags = '';
foreach ($posttags as $tag) $tags .= $tag->term_id . ',';
$args = array(
'post_status' => 'publish',
'tag__in' => explode(',', $tags),
'post__not_in' => explode(',', $post->ID),
'caller_get_posts' => 1,
'orderby' => 'comment_date',
'posts_per_page' => 10,
);
$xg_array = query_posts($args);
}
if (count($xg_array) == 0) {
$args = array(
'post_status' => 'publish',
'cat' => $the_cate_id,
'orderby' => 'comment_date',
'posts_per_page' => 10,
);
$xg_array = query_posts($args);
}
foreach ($xg_array as $related) {
echo ' <li><a href="' . get_permalink($related->ID) . '" rel="external nofollow" title="' . $related->post_title . '">' . $related->post_title . '</a></li>';
}
wp_reset_query();
?>
以上代码用的是“query_posts”函数,思路是先获取当前文章的tag标签,再通过tag标签来查询同标签的其他文章;如果没有同标签的其他文章,则显示当前文章所在分类下的最新文章。
PS:修改代码里面的数字10可以调整显示最大数量。
以上就是wordpress的相关文章功能实现代码示例了,有其他问题或者对以上代码有不同看法欢迎文章下面评论区域留言交流。
还没有评论呢,快来抢沙发~