在WordPress安装中,在$wpdb
对象要查看它们是什么,可以运行WP-CLI命令wp db tables
.
在我的本地WP安装中,以下是$wpdb
-已注册的表:
wp_users
wp_usermeta
wp_posts
wp_comments
wp_links
wp_options
wp_postmeta
wp_terms
wp_term_taxonomy
wp_term_relationships
wp_termmeta
wp_commentmeta
wp_blogs
wp_signups
wp_site
wp_sitemeta
wp_sitecategories
wp_registration_log
wp_blog_versions
默认情况下,WordPress表前缀为
wp_
. 您可以在
wp-config.php
并可能出于多种原因选择这样做:可能您需要从单个数据库运行多个WordPress安装,或者您希望通过使某些事情更难让攻击者猜测来强化WordPress安装。
插件和/或主题可能会在WordPress数据库中创建新表:例如,Gravity表单以以下格式生成一组表{$wpdb->prefix}_rg_{table_name}
(因此,在默认WordPress安装中,wp_rg_{table_name}
). 当你跑步时wp search-replace {search} {replace}
, 不会搜索这些其他表,因为$wpdb
object不知道它们。
要搜索这些非-$wpdb
-仍然具有WordPress表前缀的已注册表(即,wp_
或者不管你设置了什么),你使用--all-tables-with-prefix
上的标志wp search-replace
调用。
如果要搜索数据库中的所有表,而不考虑其前缀,可以使用--all-tables
旗帜但要小心,因为这可能会产生意外的后果(例如,在多站点环境中,或者在从单个数据库运行多个WordPress安装的情况下)。
另外,我强烈建议使用--dry-run
每次搜索的标志(&A);替换您所做的操作,以便在对数据库进行更改之前查看将受到影响的内容。
wp db tables