我想重命名WordPress数据库的前缀。我知道这样做的方法是替换phpmyadmin表中的wp_
前缀。
以wp_开头的字段很容易找到和替换。我是否需要更改其中包含_wp_
的字段?例如:
我是否需要更换下面的wp_?
dismissed_wp_pointers
或
_wp_attached_file_wp_pointers
。
的修改
请注意,除了替换“table”前缀之外,我还会更新表中的行。例如,在表wp_usermeta
中,我必须替换几行,例如wp_capabilities
在wp_usermeta
表中有一行名为
dismissed_wp_pointers
我想在那里更换wp_吗?
答案 0 :(得分:4)
前缀是指TABLE名称(例如wp_commentmeta
),以及表中PREFIXED的键。
这对multiple blogs that share the same database非常有用。
详细了解Database Table Prefixes in the Codex。
如果您要更改此前缀,则只需更新PREFIXED(即以wp_
开头的表格中的表名和密钥。这些可能在Options和UserMeta表中。
答案 1 :(得分:0)
您需要更新以wp_
开头的所有数据库表以使用新的前缀。此前缀应在wp-config.php
中设置。您还需要更新meta_key
表中的所有usermeta
和option_name
表中包含您之前前缀的表格options
以使用新前缀。
更新PREFIX_options表option_name值
SELECT *
FROM `PREFIX_options`
WHERE `option_name` LIKE '%wp_%'
更新PREFIX_usermeta表meta_key值
SELECT *
FROM `PREFIX_usermeta`
WHERE `meta_key`
LIKE '%wp_%'
请参阅one of my other answers,了解更新这些值的重要原因示例(在这种情况下为$wpdb->prefix . "capabilities"
键)。
答案 2 :(得分:0)
您似乎应不更改dismissed_update_core
的名称。
在阅读了doublesharp的评论后,我搜索了Wordpress的代码,发现dismissed_update_core
是硬编码的,例如wp_user_level
。带有前缀的名称使用$wpdb->get_blog_prefix()
(对于单个博客Wordpress网站返回base_prefix
)或$wpdb->prefix
可以在源代码中查找。
您会在dismissed_update_core
和wp-admin\includes\ajax-actions.php
中找到硬编码的wp-admin\includes\class-wp-internal-pointers.php
。