1.wordpress中很多 重复评论 怎么清理数据库
1 你可以用一条简单的SQL查询语句删除这些Post Revision:
DELETE a,b,c FROM wp_posts a WHERE a.post_type = 'revision' LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id);
2 你也可以安装一个叫做Delete-revision Manager的插件,安装这个插件之后,你就可以清楚的看到当前数据库中所有Post Revision了,只需要点击删除,就可以将这些东西一次性清理掉。
3 你也可以在wp-config.php文件中加入一行:define('WP_POST_REVISIONS',false);这样可以禁用WordPress的Post Revision功能。但是个人不推荐这种方法。毕竟有的时候Post Revision还是有用的。
尽管通告在WordPress非常有用,但是时间久了也会在数据库中产生很多垃圾。你可以执行这条SQL语句清理这些东西:
DELETE FROM wp_comments WHERE comment_type = 'pingback';
WordPress最大的魅力就在于有丰富的插件可以帮你完成很多事情,数据库清理也是如此。你可以安装一个WP-optimize或者WP-DBManager这样的插件,它可以帮你轻松的优化数据库,并且删除不必要的日志、注释、垃圾邮件等等。不过,即使你使用了这些插件,在你进行数据库操作之前还是应该做好备份。要知道,有备才能无患。
2.wordpress的重复评论怎么删除
先判断下是否登录,然后获取当前用户对象,然后获取当前用户对象的信息,需要哪些用哪些:1234567891011121314if(is_user_logged_in()){$current_user = wp_get_current_user(); /** * @example Safe usage: $current_user = wp_get_current_user(); * if ( !($current_user instanceof WP_User) ) * return; */ echo 'Username: ' . $current_user->user_login . ''; echo 'User email: ' . $current_user->user_email . ''; echo 'User first name: ' . $current_user->user_firstname . ''; echo 'User last name: ' . $current_user->user_lastname . ''; echo 'User display name: ' . $current_user->display_name . ''; echo 'User ID: ' . $current_user->ID . ''; }。
3.wordpress 如何获得所有评论者邮箱
代码如下:add_action('admin_init','coolwp_get_emails_of_commentators1');function coolwp_get_emails_of_commentators1(){ $emails = coolwp_get_emails_of_commentators(); var_dump($emails);}/*以上为测试使用 *//** * [coolwp_get_emails_of_commentators description] * @return array|false 成功则返回一个数组(评论者的用户ID为键名,邮箱为键值),不成功返回布尔值false * @author suifengtec coolwp.com */function coolwp_get_emails_of_commentators(){ global $wpdb; /* 1=1 `comment_approved`=1 */ $where = "1=1"; $sql ="SELECT `user_id` FROM `{$wpdb->prefix}comments` WHERE {$where} GROUP BY `user_id`"; $commentator_ids = $wpdb->get_results($sql,ARRAY_A); $emails = array(); foreach($commentator_ids as $commentator_id){ $email = false; $email = coolwp_get_user_email($commentator_id['user_id'])?coolwp_get_user_email($commentator_id['user_id']):false; if(!$email ) { $email = false; continue; } $emails[$commentator_id['user_id']] = $email; } return is_array($emails)?$emails:false;}/** * [coolwp_get_user_email description] * @param string|int $user_id 用户ID * @return string|false [description] * @author suifengtec coolwp.com */function coolwp_get_user_email($user_id){ if(empty($user_id)||!$user_id) return false; $user_id =intval($user_id); global $wpdb; $sql = "SELECT `user_email` FROM {$wpdb->prefix}users WHERE `ID` = {$user_id} "; $email = $wpdb->get_var($sql); return $email?$email:false;} 改进:/** * 功能同上,更简洁高效些 * @return [type] [description] * @author suifengtec coolwp.com */function coolwp_get_emails_of_commentators2(){ global $wpdb; $where = "1=1"; $sql ="SELECT `user_email` FROM {$wpdb->prefix}users LEFT JOIN `{$wpdb->prefix}comments` ON {$wpdb->prefix}comments.user_id = {$wpdb->prefix}users.ID WHERE {$where} GROUP BY {$wpdb->prefix}comments.user_id"; $emails = $wpdb->get_results($sql,ARRAY_A); return is_array($emails)?$emails:false;}祝愉快。
4.文章为什么被重复收录
1,对于comment-page-1重复收录,有两种方式解决
1),在wordpress后台关闭评论分页
文章重复收录comment-page-1与replytocom
2),修改robots.txt,加上一句项目的代码
Disallow: /comment-page-
robots.txt在网站根目录,使用 网址/robots.tx就可以看到设置的结果了
2,对于replytocom重复收录,设置robots.txt文件
Disallow:/*?replytocom=
或者是加上对于包含replytocom的所有链接都加上nofollow链接
add_filter('comment_reply_link', 'add_nofollow', 420, 4);
function add_nofollow($link, $args, $comment, $post){
return str_replace("href=", "rel='nofollow' href=", $link);
}
5.如何解决wordpress博客页面被重复收录的问题
利用robots跟nofollow标签禁止收录。
我的博客: ment-pageDisallow: /trackback/Disallow: /*/trackbackDisallow: /*?replytocom=Disallow: /index.php?Disallow: /index.php/Disallow: /*.php$Disallow: /*.css$Disallow: /page/Disallow: /*/page/*Disallow: /*/*/page/*Disallow: /*/*/*/page/*Sitemap: http://www.linkdigger.org/sitemap.xmlSitemap: http://www.linkdigger.org/sitemap.xml.gz。
转载请注明出处51数据库 » wordpress重复评论
暴打脑残粉