zoukankan      html  css  js  c++  java
  • 板邓:wordpress评论错乱解决方案

    今天,想在blog的每篇文章后面添加随机文章展示,增加PV,可是,发现加上之后,评论出现了问题,展示的评论是随机出现的,并且随机对应某一篇文章的评论。

    由于我对其他代码没有改动,分析了下,肯定是因为新改的代码导致的,新改的代码如下:

    1 <ul>
    2   <?php
    3     $posts = get_posts('numberposts=7&orderby=rand');
    4     foreach($posts as $post) {
    5       setup_postdata($post);
    6       echo '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a></li>';
    7     }
    8     $post = $posts[0];
    9   ?>
    10 </ul>

    仔细看了下代码,发现,这里面会把$post变量改变,而后面的评论代码取评论的时候,是根据$post来取评论的,因此会导致评论错乱,出现随机文章的评论。那为什么别人用这段代码展示随机文章不会出现评论错乱呢,那是因为别人是放在侧边栏的,评论(comments.php)执行在侧边栏(sidebar.php)之前,这时候改变$post的值并不会改变评论。

    原因找出来了,因此,只需要避免改变$post值即可,改后的代码如下:

    1 <ul>
    2   <?php
    3     $random_posts = get_posts('numberposts=7&orderby=rand');
    4     foreach($random_posts as $random_post) {
    5       echo '<li><a href="' . get_permalink($random_post->ID) . '">' . get_the_title($random_post->ID) . '</a></li>';
    板邓个人博客:http://8dseo.com
  • 相关阅读:
    比赛-h47学长的训练赛 (27 Aug, 2018)
    比赛-OBlack学长的训练赛2 (26 Aug, 2018)
    比赛-OBlack学长的训练赛 (25 Aug, 2018)
    比赛-xxxxxyt学姐的训练赛 (25 Aug, 2018)
    比赛-一场训练赛
    比赛-wxh学长的训练赛 (23 Aug, 2018)
    比赛-sparrow学长的训练赛2 (22 Aug, 2018)
    深入JVM内核--JVM简介
    GitHub之初始化
    B-Tree索引
  • 原文地址:https://www.cnblogs.com/xbdeng/p/5686801.html
Copyright © 2011-2022 走看看