手把手教你如何在wordpress中添加相关文章,让你的博客有更好的可读性

今天就来说说如何在博客的文章页中添加相关文章。网上有很多显示相关文章的插件,不过我想博客中能不能插件尽量不用,所以今天就介绍一下如何在代码中添加相关文章。
网上有介绍了五种代码添加的方法:
方法一:标签相关。
方法二:分类相关。
方法三:标签相关,SQL获取。
方法四:分类相关,SQL获取。
方法五:作者相关。
有人计算过这些代码的效率,测算的时间如下:
方法一:0.18067908287048 秒
方法二:0.057158946990967 秒
方法三:0.037126064300537 秒
方法四:0.045628070831299 秒
方法五:0.023991823196411 秒根据他们计算的成果,我使用了效率第二,但是实用性更强的分类相关,SQL获取方式,代码如下:

Code   ViewCopyPrint
    1. <div id="postnavi">
    1. <h2>您可能还会对这些文章感兴趣!</h2>
    1. <ul id="cat_related">
    1. <?php
    1. $cats = wp_get_post_categories($post->ID);
    1. if ($cats) {
    1.   $related = $wpdb->get_results("
    1.     SELECT post_title, ID
    1.     FROM {$wpdb->prefix}posts, {$wpdb->prefix}term_relationships, {$wpdb->prefix}term_taxonomy
    1.     WHERE {$wpdb->prefix}posts.ID = {$wpdb->prefix}term_relationships.object_id
    1.     AND {$wpdb->prefix}term_taxonomy.taxonomy = 'category'
    1.     AND {$wpdb->prefix}term_taxonomy.term_taxonomy_id = {$wpdb->prefix}term_relationships.term_taxonomy_id
    1.     AND {$wpdb->prefix}posts.post_status = 'publish'
    1.     AND {$wpdb->prefix}posts.post_type = 'post'
    1.     AND {$wpdb->prefix}term_taxonomy.term_id = '" . $cats[0] . "'
    1.     AND {$wpdb->prefix}posts.ID != '" . $post->ID . "'
    1.     ORDER BY RAND( )
    1.     LIMIT 6");
    1. if ( $related ) {
    1.   foreach ($related as $related_post) {
    1.     ?>
    1.       <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>
    1.     <?php  } } else { ?>
    1.    <li>* 暂无相关文章</li>
    1.    <?php } }?>
    1.    </ul>
    1. </div>

这种方式是获取相关文章分类下的文章时候是以SQL语句来直接读取数据库,从而随机获取6篇相关文章记录,而不是WordPress的函数query_posts().这种方式效率会比调用query_posts()函数更快些。
把上面那段代码放在你博客相应主题下的single.php中,我是放在我之前写的一篇显示上一篇和下一篇文章的这段代码之后,是在文章页最后显示,在评论之前。大家可以根据自己的需求进行添加。显示的结果见我博客中文章页下。

weinxin
DC Farm小程序二维码
扫一扫添加博客小程序
Jim

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:7   其中:访客  4   博主  3

    • avatar clearsky 1

      已经将贵站连接加好

      • avatar 站长 5

        如果有图效果更好!!!!!!!!!

        • 激劉勇靖 激劉勇靖 Admin

          嗯 好建议下次写文章时,再用些实际操作的图片,这样更形象。@站长

          • avatar 艾伦 1

            还不错,嘿嘿!

              • 激劉勇靖 激劉勇靖 Admin

                @艾伦 你的站收录情况不错啊 , 我的不知道是不是我之前改过版,和固定链接的原因,百度收录一直不好。对了 你有没有到其他论坛或是博客发外链?

              • avatar 水木 1

                直接使用的插件实现相关文章效果

                  • 激劉勇靖 激劉勇靖 Admin

                    @水木 这里就是想要给大家介绍一下非插件实现方式 ,插件用多了,服务器会变慢,所以介绍这种非插件方式 。