整理的一些实用WordPress后台MySQL操作命令


Posted in PHP onJanuary 07, 2013

不过假设你的WordPress网站上有成百上千篇文章,而你需要进行全站范围的改动, 这时从后台逐条编辑就有点费时费力了,并且犯错的几率也会提高。 最好的方法是进入WordPress的MySQL数据库执行必要的查询(改动)。 通过MySQL可以迅速地完成以上任务,为你节省更多时间。

下面要介绍的就是一些省时省力的WordPress SQL查询方法。

事先备份
WordPress数据库里存储了你精心发表的每一篇文章,来自你的读者的所有评论,以及你对自己网站进行的所有个性化设置。 因此,无论你对自己有多自信,都请记住一定要事先备份WordPress数据库。 你可以通过备份插件进行备份。

为所有文章和页面添加自定义字段
这段代码可以为WordPress数据库内所有文章和页面添加一个自定义字段。 你需要做的就是把代码中的‘UniversalCutomField‘替换成你需要的文字,然后把‘MyValue‘改成需要的值。

INSERT INTO wp_postmeta (post_id, meta_key, meta_value) 
SELECT ID AS post_id, 'UniversalCustomField' 
AS meta_key 'MyValue AS meta_value FROM wp_postsWHERE ID NOT IN (SELECT post_id FROM wp_postmeta WHERE meta_key = 'UniversalCustomField');

如果只需要为文章添加自定义字段,可以使用下面这段代码:
INSERT INTO wp_postmeta (post_id, meta_key, meta_value) 
SELECT ID AS post_id, 'UniversalCustomField' 
AS meta_key 'MyValue AS meta_value 
FROM wp_posts WHERE ID NOT IN 
(SELECT post_id FROM wp_postmeta WHERE meta_key = 'UniversalCustomField')`` AND post_type = 'post';

如果只需要为页面添加自定义字段,可以使用下面这段代码:
INSERT INTO wp_postmeta (post_id, meta_key, meta_value) 
SELECT ID AS post_id, 'UniversalCustomField' 
AS meta_key 'MyValue AS meta_value 
FROM wp_posts WHERE ID NOT IN 
(SELECT post_id FROM wp_postmeta WHERE meta_key = 'UniversalCustomField')AND `post_type` = 'page';

删除文章meta数据
当你安装或删除插件时,系统通过文章meta标签存储数据。 插件被删除后,数据依然会存留在post_meta表中,当然这时你已经不再需要这些数据,完全可以删除之。 记住在运行查询前把代码里的‘YourMetaKey‘替换成你需要的相应值。
DELETE FROM wp_postmeta WHERE meta_key = 'YourMetaKey';

查找无用标签
如果你在WordPress数据库里执行查询删除旧文章,和之前删除插件时的情况一样,文章所属标签会留在数据库里,并且还会出现在标签列表/标签云里。 下面的查询可以帮你找出无用的标签。
SELECT * From wp_terms wtINNER JOIN wp_term_taxonomy wtt ON wt.term_id=wtt.term_id WHERE wtt.taxonomy='post_tag' AND wtt.count=0;

批量删除垃圾评论
执行以下SQL命令:
DELETE FROM wp_comments WHERE wp_comments.comment_approved = 'spam';

批量删除所有未审核评论
这个SQL查询会删除你的网站上所有未审核评论,不影响已审核评论。
DELETE FROM wp_comments WHERE comment_approved = 0

禁止评论较早文章
指定comment_status的值为open、closed或registered_only。
此外还需要设置日期(修改代码中的2010-01-01):
UPDATE wp_posts SET comment_status = 'closed' WHERE post_date < '2010-01-01' AND post_status = 'publish';

停用/激活trackback与pingback
指定comment_status的值为open、closed或registered_only。
向所有用户激活pingbacks/trackbacks:
UPDATE wp_posts SET ping_status = 'open';

向所有用户禁用pingbacks/trackbacks:
UPDATE wp_posts SET ping_status = 'closed';

激活/停用某一日期前的Pingbacks & Trackbacks
指定ping_status的值为open、closed或registered_only。
此外还需要设置日期(修改代码中的2010-01-01):
UPDATE wp_posts SET ping_status = 'closed' WHERE post_date < '2010-01-01' AND post_status = 'publish';

删除特定URL的评论
当你发现很多垃圾评论都带有相同的URL链接,可以利用下面的查询一次性删除这些评论。%表示含有“%"符号内字符串的所有URL都将被删除。
DELETE from wp_comments WHERE comment_author_url LIKE "%nastyspamurl%" ;

识别并删除“X"天前的文章
查找“X"天前的所有文章(注意把X替换成相应数值):
SELECT * FROM `wp_posts` WHERE `post_type` = 'post'AND DATEDIFF(NOW(), `post_date`) > X

删除“X"天前的所有文章:
DELETE FROM `wp_posts` WHERE `post_type` = 'post'AND DATEDIFF(NOW(), `post_date`) > X

删除不需要的短代码
当你决定不再使用短代码时,它们不会自动消失。你可以用一个简单的SQL查询命令删除所有不需要的短代码。 把“tweet"替换成相应短代码名称:
UPDATE wp_post SET post_content = replace(post_content, '[tweet]', '' ) ;

将文章转为页面
依然只要通过PHPMyAdmin运行一个SQL查询就可以搞定:
UPDATE wp_posts SET post_type = 'page' WHERE post_type = 'post'

将页面转换成文章:
UPDATE wp_posts SET post_type = 'post' WHERE post_type = 'page'

更改所有文章上的作者属性
首先通过下面的SQL命令检索作者的ID:
SELECT ID, display_name FROM wp_users;

成功获取该作者的新旧ID后,插入以下命令,记住用新作者ID替换NEW_AUTHOR_ID,旧作者ID替换OLD_AUTHOR_ID。
UPDATE wp_posts SET post_author=NEW_AUTHOR_ID WHERE post_author=OLD_AUTHOR_ID;

批量删除文章修订历史
文章修订历史保存可以很实用,也可以很让人烦恼。 你可以手动删除修订历史,也可以利用SQL查询给自己节省时间。
DELETE FROM wp_posts WHERE post_type = "revision";

停用/激活所有WordPress插件
激活某个插件后发现无法登录WordPress管理面板了,试试下面的查询命令吧,它会立即禁用所有插件,让你重新登录。
UPDATE wp_options SET option_value = 'a:0:{}' WHERE option_name = 'active_plugins';

更改WordPress网站的目标URL
把WordPress博客(模板文件、上传内容&数据库)从一台服务器移到另一台服务器后,接下来你需要告诉WordPress你的新博客地址。
使用以下命令时,注意将http://www.old-site.com换成你的原URL,http://blog.doucube.com换成新URL地址。
首先:
UPDATE wp_options 
SET option_value = replace(option_value, 'http://www.old-site.com', 'http://blog.doucube.com') 
WHERE option_name = 'home' OR option_name = 'siteurl';

然后利用下面的命令更改wp_posts里的URL:
UPDATE wp_posts SET guid = replace(guid, 'http://www.old-site.com','http://blog.doucube.com);

最后,搜索文章内容以确保新URL链接与原链接没有弄混:
UPDATE wp_posts SET post_content = replace(post_content, ' http://www.ancien-site.com ', ' http://blog.doucube.com ');

更改默认用户名Admin
把其中的YourNewUsername替换成新用户名。
UPDATE wp_users SET user_login = 'YourNewUsername' WHERE user_login = 'Admin';

手动重置WordPress密码
如果你是你的WordPress网站上的唯一作者,并且你没有修改默认用户名, 这时你可以用下面的SQL查询来重置密码(把其中的PASSWORD换成新密码):
UPDATE `wordpress`.`wp_users` SET `user_pass` = MD5('PASSWORD') 
WHERE `wp_users`.`user_login` =`admin` LIMIT 1;

搜索并替换文章内容
OriginalText换成被替换内容,ReplacedText换成目标内容:
UPDATE wp_posts SET `post_content` = REPLACE (`post_content`, 'OriginalText','ReplacedText');

更改图片URL
下面的SQL命令可以帮你修改图片路径:
UPDATE wp_postsSET post_content = REPLACE (post_content, 'src="http://www.myoldurl.com', 'src="http://blog.doucube.com');
PHP 相关文章推荐
2.PHP入门
Oct 09 PHP
PHP数组循环操作详细介绍 附实例代码
Feb 03 PHP
PHP读取RSS(Feed)简单实例
Jun 12 PHP
改写ThinkPHP的U方法使其路由下分页正常
Jul 02 PHP
ThinkPHP查询返回简单字段数组的方法
Aug 25 PHP
php使用类继承解决代码重复的问题
Feb 11 PHP
PHP SPL标准库中的常用函数介绍
May 11 PHP
php轻量级的性能分析工具xhprof的安装使用
Aug 12 PHP
PHP 搜索查询功能实现
Nov 29 PHP
PHP中使用OpenSSL生成证书及加密解密
Feb 05 PHP
解决Laravel5.x的php artisan migrate数据库迁移创建操作报错SQLSTATE[42000]
Apr 06 PHP
laravel与thinkphp之间的区别与优缺点
Mar 02 PHP
PHP中设置时区,记录日志文件的实现代码
Jan 07 #PHP
PHP基础教程(php入门基础教程)一些code代码
Jan 06 #PHP
将博客园(cnblogs.com)数据导入到wordpress的代码
Jan 06 #PHP
PHP表单递交控件名称含有点号(.)会被转化为下划线(_)的处理方法
Jan 06 #PHP
Fine Uploader文件上传组件应用介绍
Jan 06 #PHP
PDO版本问题 Invalid parameter number: no parameters were bound
Jan 06 #PHP
PHPEXCEL 使用小记
Jan 06 #PHP
You might like
生成php程序的php代码
2008/04/07 PHP
php防注入,表单提交值转义的实现详解
2013/06/10 PHP
php获取目标函数执行时间示例
2014/03/04 PHP
HR vs ForZe BO3 第二场 2.13
2021/03/10 DOTA
为数据添加append,remove功能
2006/10/03 Javascript
Extjs学习笔记之五 一个小细节renderTo和applyTo的区别
2010/01/07 Javascript
HTML5附件拖拽上传drop &amp; google.gears实现代码
2011/04/28 Javascript
js实现图片拖动改变顺序附图
2014/05/13 Javascript
Javascript中使用A标签获取当前目录的绝对路径方法
2015/03/02 Javascript
javascript中$(function() {});写与不写有哪些区别
2015/08/10 Javascript
JSON简介以及用法汇总
2016/02/21 Javascript
浅谈jQuery中的checkbox问题
2016/08/10 Javascript
浅析javaScript中的浅拷贝和深拷贝
2017/02/15 Javascript
Angular.js中window.onload(),$(document).ready()的写法浅析
2017/09/28 Javascript
vue.js element-ui validate中代码不执行问题解决方法
2017/12/18 Javascript
swiper自定义分页器使用方法详解
2020/09/14 Javascript
webpack4的迁移的使用方法
2018/05/25 Javascript
使用vue完成微信公众号网页小记(推荐)
2019/04/28 Javascript
浅谈对于react-thunk中间件的简单理解
2019/05/01 Javascript
解决antd 表单设置默认值initialValue后验证失效的问题
2020/11/02 Javascript
vue实现两个组件之间数据共享和修改操作
2020/11/12 Javascript
python实现折半查找和归并排序算法
2017/04/14 Python
Python爬虫实现百度图片自动下载
2018/02/04 Python
win8.1安装Python 2.7版环境图文详解
2019/07/01 Python
Python企业编码生成系统总体系统设计概述
2019/07/26 Python
Python 转换RGB颜色值的示例代码
2019/10/13 Python
Python手绘可视化工具cutecharts使用实例
2019/12/05 Python
Numpy中的数组搜索中np.where方法详细介绍
2021/01/08 Python
简单介绍HTML5中的文件导入
2015/05/08 HTML / CSS
世界最大的海报和艺术印刷商店:AllPosters.com
2017/02/01 全球购物
意大利奢侈品购物网站:Giglio
2018/01/05 全球购物
Gloeilampgoedkoop荷兰:在线购买灯泡
2019/02/16 全球购物
2015年六一儿童节活动总结
2015/02/11 职场文书
2019年幼儿园家长接送责任书
2019/10/29 职场文书
NodeJs使用webpack打包项目的方法详解
2022/02/28 NodeJs
python如何将mat文件转为png
2022/07/15 Python