批量导出WordPress访客的名字、URL、邮箱进行回访

xiaojie.me

感谢xiaojie.me的投稿;为博客带去流量,欢迎投递分享优秀文章

     WordPress是一个强大的博客系统,相信很多朋友都在用它来搭建博客。WordPress提供了很强大的留言功能,访客可以给文章或者页面发表评论,发表评论的时候会留下留言者的昵称、URL以及邮箱,博主可以通过这些信息联系到留言者,但是在WordPress管理后台 – 评论那里,看到的是每篇评论的留言者信息,一名留言这可以多次留言,找留言者比较困难。现在我想在一个单独的页面显示我的博客至今为止所有留言者的昵称、URL 以及邮箱,且信息不重复,那咋办呢?看下面的内容就知道了。

  1. 新建一个PHP文件命名为"export-url.php"
  2. 在这文件中插入以下代码;
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?php
    header('Content-Type:text/html;charset=utf-8');
    $conn = @mysql_connect('localhost', '这里改成数据库用户名', '这里改成数据库用户密码') or die("Datebase Could not be connected: " . mysql_error());
    mysql_select_db('这里改成博客的数据库名称');
    // 排除没有填写 URL 的数据
    mysql_query("set names 'utf8'");
    $result = mysql_query("SELECT DISTINCT comment_author_url,comment_author_email,comment_author FROM wp_comments WHERE
    comment_author_url != '' AND comment_type = '' AND comment_author_url != 'http://'"
    , $conn);
    while($row = mysql_fetch_array($result)) {
        echo $row["comment_author"]." ";
        echo "<a target='_blank' href='";
        echo $row["comment_author_url"];
        echo "'>";
        echo $row["comment_author_url"]." ";
        echo "</a>";
        echo $row["comment_author_email"]."<br />";
    }
    mysql_free_result($result);
    ?>
  3. 修改上面代码中的Mysql服务器地址、数据库用户名、数据库密码、Mysql数据库名字(即代码中中文标注部分,另外注意数据库表前缀wp_,其他部分不需修改)
  4. 保存文件后上传到你空间的根目录
  5. 访问 "http://你的网站URL/export-url.php" 就可出现前面是访客昵称,后面是网址,最后是邮箱的批量显示页面了!以上代码不会输出引用通告(pingkback、trackback)的信息

文章出处:小杰博客
文章原文地址:http://www.xiaojie.me/2010/09/bulk-export-the-name-of-wordpress-visitors-url-email-for-a-return-visit.html

本文版权归露兜博客所有,转载引用请完整注明以下信息:
本文作者:xiaojie.me
本文标题:批量导出WordPress访客的名字、URL、邮箱进行回访
本文地址:http://www.ludou.org/wordpress-export-commenter-info.html

标签:

22 条评论

我来说两句
  1. akasuna

    嗯,很好
    可以再稍微改一下,但是要把 spam 排除掉,并且统计出留言数目,留言数最多的排在最前面,优先回访

    SELECT COUNT( * ) AS commentcount, comment_author_url, comment_author_email, comment_author
    FROM wp_comments
    WHERE comment_author_url != ''
    AND comment_type = ''
    AND comment_author_url != 'http://&#039;
    AND comment_approved = 1
    GROUP BY comment_author_url, comment_author_email, comment_author
    ORDER BY commentcount DESC
    LIMIT 0 , 30

    • Ludou

      想得很周到。另外comment_approved是varchar,所以 1 应该用引号括起来

    • xiaojie.me

      我已经按照您的方法修改了一下,修改后的文件请去我的博客查看,看是否有错误的地方。
      现在spam已经排除掉了,留言数最多的排在最前面了,不过我把LIMIT 0 , 30去掉了,我想显示所有访客的信息。
      现在我想出现每个访客的留言数目(出现在每个访客信息后面)和留过言的访客的数目(显示在页面开头,作为一个统计信息),应该再怎么添加代码呢?谢谢啦

  2. Dianso

    输出了,但有些名字乱码了

  3. 有点蓝

    在小邪那里看到了这样的教程,不过当时没学会,但愿这次可以成功。

  4. 有点蓝

    这个php应该保存成什么格式呢?ansi还是utf8啊?

  5. 优得客

    导出来干嘛呢?发送垃圾邮件,还是?

  6. 布客空间

    很不错的东西!目前评论比较少,希望以后评论多的时候能够用得上!

  7. 不知不觉

    为啥打开之后汉语名字都是显示的问号呢?编码问题?要怎么改?

  8. John

    嗯,大家都是高手。学习了。如果要是这段代码放到当前主题的目录下,又该如何操作呢?

发表评论

订阅评论