要将 wordpress 站点从本地主机托管到实时服务器,需要将所有本地主机 url 更改为实时域 url。Done 和 site 也可以正常加载,但没有任何媒体项目显示,因为它们位于基本编码字符串中。
但是如何替换主题和其他插件保存的基本编码字符串中的 url?
在我的情况下,我使用 BeTheme 和视觉作曲家,其中包含实际的页面内容和保存在数据库中编码的基础。它们包含许多媒体项目的硬编码完整网址。
我将 db dump 放入一个 .sql 文件中,找到并将所有 localhost 替换为 live 域 url ......但这就是我卡住的地方!
我遇到了同样的问题,并找到了一种方法来做到这一点。我的例子是 wp_postmeta 表和松饼的一些主题
要求:
脚步:
备份你的数据库(!!!)
创建一个与 wp_postmeta 布局相同的表:
CREATE TABLE wp_base64_dec LIKE wp_postmeta
Run Code Online (Sandbox Code Playgroud)插入从 wp-postmeta 中选择的新表 base64_decoded 值
INSERT INTO wp_base64_dec(`meta_id`, `post_id`,`meta_key`,`meta_value`)
SELECT `wp_postmeta`.`meta_id` AS `meta_id`,
`wp_postmeta`.`post_id` AS `post_id`,
`wp_postmeta`.`meta_key` AS `meta_key`,
FROM_BASE64(`wp_postmeta`.`meta_value`) AS `meta_value`
FROM `wp_postmeta` WHERE
((`wp_postmeta`.`meta_key` = 'mfn-page-items') AND
(FROM_BASE64(`wp_postmeta`.`meta_value`) LIKE '%domain.net%')) ;
Run Code Online (Sandbox Code Playgroud)使用 wp 中的搜索替换插件将表中的“domain.net”替换为“domain.com” wp_base64_dec。
替换原始表中更改的列:
REPLACE wp_postmeta
SELECT
`meta_id`,`post_id`,`meta_key`,
TO_BASE64(`meta_value`) as `meta_value`
FROM `wp_base64_dec`
Run Code Online (Sandbox Code Playgroud)Chi*_*odi -2
如果您从 phpmyadmin 导出数据库,那么您想要获得序列化数据。您必须使用插件才能导出。
wp migrate db 是一个很棒的插件。
https://wordpress.org/plugins/wp-migrate-db/
| 归档时间: |
|
| 查看次数: |
2008 次 |
| 最近记录: |