快速概述:我们正在尝试将一些非常长期(7岁以上)的WordPress多站点安装从子域转换为子目录。更改wp-config.php
和.htaccess
一切都很好。但是其中一些安装有超过1000个站点,并且在整个数据库中散落的可能有abc.multisite.com
的大量实例。
我试图找到自动转换abc.multisite.com
到multisite.com/abc
的最佳方式,当然不会影响导致123abc.multisite.com
的{{1}}。< / p>
我见过的所有可以执行此操作的查找/替换插件一次只进行一次搜索,而且我已经有数千条记录要替换。
最好的方法是什么?是否有一个SQL命令可以在PHP中循环遍历数百个数据库表?
我可以使用get_sites()
函数获取网站列表并循环显示。
或者是否有更好的工具来导出数据库并在那里查找/替换(这些数据库的大小会使原子/升华/括号崩溃。
答案 0 :(得分:1)
如果您拥有WP CLI的(SSH)访问权限,则可以在您的网站根目录中运行:
http://null
对于Multisites,如果要搜索所有表格,则需要wp search-replace abc.multisite.com multisite.com/abc
标记。
http://wp-cli.org/commands/search-replace/
默认情况下,该命令使用注册到$ wpdb对象的表。 在多站点上,这只是当前站点的表,除非 - 指定了网络。搜索/替换智能地处理PHP序列化数据,并且不会更改主键值。
--network