之前想做过相关文章列表,用函数做的,但是总是遇到一个问题,就是wordpress相关文章代码加上去之后,回复评论的时候,总是回复到相关文章列表中最后一篇文章上去,现在这个问题总算是解决了,具体方法如下:
首先进入WordPress后台,在左侧菜单中找到“外观”选项,然后点击“编辑”,此时页面最右侧会把该模板下面所有的页面都列出来,我们只要点击“文章页面 (single.php)”,然后在希望加入相关文章代码的地方,加入如下代码即可:
<strong>相关文章:</strong> <ul id="tags_related"> <?php $post_tags = wp_get_post_tags($post->ID); if ($post_tags) { $tag_list = ”; foreach ($post_tags as $tag) { // 获取标签列表 $tag_list .= $tag->term_id.’,'; } $tag_list = substr($tag_list, 0, strlen($tag_list)-1); $related_posts = $wpdb->get_results(" SELECT post_title, ID FROM {$wpdb->prefix}posts, {$wpdb->prefix}term_relationships, {$wpdb->prefix}term_taxonomy WHERE {$wpdb->prefix}term_taxonomy.term_taxonomy_id = {$wpdb->prefix}term_relationships.term_taxonomy_id AND ID = object_id AND taxonomy = ‘post_tag’ AND post_status = ‘publish’ AND post_type = ‘post’ AND term_id IN (" . $tag_list . ") AND ID != ‘" . $post->ID . "’ ORDER BY RAND() LIMIT 8"); // 以上代码中的 8 为限制只获取8篇相关文章 // 通过修改数字 8,可修改你想要的文章数量 if ( $related_posts ) { foreach ($related_posts as $related_post) { ?> <li><a href="<?php echo get_permalink($related_post->ID); ?>" rel="bookmark" title="<?php echo $related_post->post_title; ?>"><?php echo $related_post->post_title; ?></a></li> <?php } } else { ?> <li>暂无相关文章</li> <?php } } ?> </ul>