WordPress 的省时 SQL 查询
如果您是 WordPress 网站所有者,则需要处理很多事情。
不断更新您的博客内容,添加新产品,更改价格,我们甚至不提及定期插件更新,为开发人员提供访问权限并作为日常 WordPress 例行程序的一部分做更多事情。
有时,如果您需要调整设置,您会找到一个长网页教程,其中包含许多执行单个操作的说明。 但是,如果您知道这些更改中的大部分都可以通过简单的 SQL 查询(您在数据库管理器菜单中运行的命令)进行更改,那该怎么办。
由于您是一个忙碌的人,节省您的时间是当务之急,以下是基本的 SQL 查询,可帮助您在几分钟内获得结果。
第一步
当您的主机帐户中有多个网站时,在执行 SQL 查询之前,您需要确保您正在修改正确的数据库。 您可以在您的 wp-config.php 字符串上的文件:
define (‘DB_NAME’, ‘yourdbname’)
此外,请注意表前缀,因为您需要在运行 SQL 命令时指定它。 它位于页面设置底部的同一文件中。
在上述示例中,数据库名称为 _wp622。 表前缀是 wpc7_。 现在,当我们知道它时,让我们转到数据库管理器。 大多数控制面板使用 PHPMyAdmin 进行数据库管理。
到达那里后,在列表中找到您的数据库名称并单击它:
在进行任何更改之前,请确保为此数据库创建备份,以便能够快速恢复它以防万一出现问题。
我们在一般备份指南中详细介绍了如何备份 WordPress。 但为了让您快速浏览,请选择 出口 选项,根据您的需要选择方法和格式,然后按 去 (这里我们设置了所有默认选项):
完成后,您可以安全地继续。 按菜单 SQL 让我们开始吧:
替换网址
如果您计划通过将 SSL 证书添加到您的网站或进行其他修改来更新您的网站 URL,请确保使用以下命令:
UPDATE wp_options SET option_value = replace(option_value, 'http://www.oldurlofthewebsite.com', 'http://www.newurlofthewebsite.com') WHERE option_name = 'home' OR option_name = 'siteurl';
假设我希望我的 URL 是 https//: 并且我的域名是 example.com。 在这种情况下,我需要修改 wp_options 表名和 URL:
UPDATE wpc7_options SET option_value = replace(option_value, 'http://www.example.com', 'https://www.example.com') WHERE option_name = 'home' OR option_name = 'siteurl';
并等待成功消息。
为什么看到它如此重要? 如果按 去 但是查询中有一些错误,系统将无法完成请求,您将收到错误,表示执行失败。 错误将如下所示,并指出进程失败的原因。
请注意,此命令是基本命令,只会替换您网站的主 URL,因此如果您打算将网站的域名从 example.com 更改为 test.net,则需要对其进行修改,包括所有满足您网站的 URL 的表,例如 wp-posts、wp-postmeta,并且还要注意包含由插件(例如,WooCommerce)生成的 URL 的行的表。
为此,您至少需要 基本 SQL 培训. 另一种选择是在任何文本编辑器中打开您导出的数据库,并使用 Ctrl+H 将旧域的所有提及替换为新域。 如果这听起来太复杂,还有许多其他工具可以帮助自动化这个过程(例如 互连/它数据库搜索和替换 脚本,或 更好的搜索和替换插件 基于相同的脚本),而只是将文件上传到工作站点的网站文件夹并在浏览器中打开它。
创建新的管理员用户
如果您需要在安装中添加具有管理员角色的新用户,则必须使用以下命令并根据您的偏好进行修改:
INSERT INTO `wp_users` (`user_login`, `user_pass`, `user_nicename`, `user_email`, `user_status`)
VALUES ('yourlogin', MD5('yourpassword'), 'firstname lastname', '[email protected]', '0');
INSERT INTO `wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`)
VALUES (NULL, (Select max(id) FROM wp_users),
'wp_capabilities', 'a:1:{s:13:"administrator";s:1:"1";}');
INSERT INTO `wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`)
VALUES (NULL, (Select max(id) FROM wp_users), 'wp_user_level', '10');
请注意,您需要根据需要修改表和登录值 用户名 和 数据库.
我想创建一个用户 我的开发者 用密码 我的密码,我的开发者的名字是 约翰·多伊 电子邮件是 [email protected]. 所以我的查询将如下所示:
INSERT INTO `wpc7_users` (`user_login`, `user_pass`, `user_nicename`, `user_email`, `user_status`)
VALUES ('Mydev', MD5('mypassword'), 'John Doe', '[email protected]', '0');
INSERT INTO `wpc7_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`)
VALUES (NULL, (Select max(id) FROM wp_users),
'wp_capabilities', 'a:1:{s:13:"administrator";s:1:"1";}');
INSERT INTO `wpc7_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`)
VALUES (NULL, (Select max(id) FROM wpc7_users), 'wp_user_level', '10'
请注意,我不需要修改行名称(即 wp_user_level 或玩数字 0, 10, 13 因为它们意味着用户角色和相应的权限。 完成后,我按 去.
输出应显示成功的结果,如下所示:
更改管理员登录用户名
要更改用户名登录名,请返回 MySQL 选项卡并运行以下命令:
UPDATE wp_users SET user_login = 'newlogin' WHERE user_login = 'admin';
假设您的默认用户名是 我的开发者你之前创建的并且你想设置的那个 安全用户 而不是它。 在我们的特殊情况下,我们运行以下命令,因为我们还有默认前缀 wp7c_:
UPDATE wpc7_users_users SET user_login = 'secureduser' WHERE user_login = 'mydeveloper';
成功的输出如下所示:
更改管理员密码
按照常规密码更改的安全规则,您可能还想更改您的密码 安全用户. 这是它的查询:
UPDATE wp_users SET user_pass = MD5( 'new_password' ) WHERE user_login = 'youruser';
对于这个特定的密码更改命令,我们的命令如下:
UPDATE wpc7_users SET user_pass = MD5( '$tR0ngP@s$w03D' ) WHERE user_login = 'secureduser';
按 去 并等待成功消息:
删除垃圾邮件
对于发布大量帖子并保持评论开放以进行交互的用户,垃圾评论问题可能会变得非常痛苦。 虽然您可以通过手动批准过滤评论,但您可能希望找到一种方法来快速删除您未批准的所有内容。 就是这样:
DELETE FROM wp_comments WHERE wp_comments.comment_approved = 'spam';
当针对我们在这里讨论的特定情况进行定制时:
DELETE FROM wpc7_comments WHERE wpc7_comments.comment_approved = 'spam';
笔记: 前缀需要在遇到它的两个地方修改,因为 wp_comments.comment_approved 是表中的单独字段。
这是成功的输出:
删除所有未批准的帖子评论
在某些时候,您可能会意识到在做出最终决定发布它们之前,您已经厌倦了过滤和阅读文章的评论,因此您想删除它们。 有一个命令:
DELETE FROM wp_comments WHERE comment_approved = 0
请注意,该 评论批准 部分不需要修改,因为此选项卡表示表中不可变的默认函数。
修改后的命令如下所示:
DELETE FROM wpc7_comments WHERE comment_approved = 0
完成后,您可以看到成功执行命令的通常结果:
虽然看起来按照说明操作可能比手动操作要花费更长的时间,但事实并非如此。 您的网站越大,您在其上花费的时间就越多。 对 10 个帖子单独执行一个操作,您最终会花费 10 倍的执行时间。
因此,实际上,您可以通过运行这些命令节省大量宝贵的时间,并且可以将这些时间用于更重要的事情,例如内容规划或寻找灵感点子。
快乐的博客!