对于开发,我希望能够将我的wordpress站点与localhost一起使用,并与各种IP一起使用,甚至可能与一些一次性域名一起使用。
现在wordpress不允许,您必须选择1个“站点url”,并在每次决定使用不同的端口或不同的测试服务器IP时更改它。
我知道我可以更改本地计算机上的主机文件,但如果我临时托管一个站点以供客户端测试,则无法更改主机文件。我不想让他们更改他们的主机文件。
如何修改wordpress使其工作?有没有这样的插件?如果没有,我如何制作自己的插件或破解wordpress,使其满足我的需要?我是一名开发人员,但我对wordpress、php和apache不太了解。
它能像制作一个覆盖全局变量的插件那样简单吗site_url
还有什么不可以?
示例如果我访问,wp站点应加载而不重定向:
http://localhost
(假设我正在监听端口80)
http://localhost:3000
(假设我正在监听端口3000)
http://wordpress-test
(假设我更改了主机文件)
http://123.123.123.123
(假设站点正在端口80的服务器上侦听)
SO网友:Tim Elsass
不幸的是,除了更新选项之外,还有更多选项。我建议你仔细阅读https://wordpress.org/support/article/changing-the-site-url/ 首先了解所涉及的内容。至于插件解决方案,已经存在很多,这将是一条比自己滚动更安全的路线。Better Search and Replace 是很受欢迎的。
由于您将要对客户端预览、本地开发和生产进行url更改,因此我假设您已经有了wp cli,或者可以轻松地将其安装并运行。它已经具有内置的搜索和替换功能,您可以执行以下操作:
wp search-replace http://local.test https://throwaway-domain.com/subdirectory --skip-columns=guid --dry-run
发件人
wp-cli documentation for search-replace, 此脚本也很有用:
# Bash script: Search/replace production to development url (multisite compatible)
#!/bin/bash
if $(wp --url=http://example.com core is-installed --network); then
wp search-replace --url=http://example.com \'http://example.com\' \'http://example.test\' --recurse-objects --network --skip-columns=guid --skip-tables=wp_users
else
wp search-replace \'http://example.com\' \'http://example.test\' --recurse-objects --skip-columns=guid --skip-tables=wp_users
fi
Note: <你可能已经注意到国旗了
--skip-columns=guid
在这两个示例中,将在下面的第一个链接中进行解释
Important GUID Note. 类似地
Better Search and Replace 提到的插件有一个复选框,可以跳过替换guid
正如您在另一条评论中提到的,您可以查看以下内容StackOverflow question.
SO网友:Vitauts Stočka
您可以尝试使用这些挂钩过滤器
add_filter(\'home_url\', \'my_url\', 10, 2);
add_filter(\'site_url\', \'my_url\', 10, 2);
function my_url($url, $path) {
return \'http://your-dev-hostname-or-ip-here/\' . $path;
}
但请记住,原始(真实)网站url仍将在内容的许多地方使用。要修复此问题,可以使用附加挂钩
the_content
并在那里进行字符串替换。
SO网友:Admiral Noisy Bottom
Wordpress基于PHP,需要MySQL或MariaDB等数据库服务器。
我建议使用LAMP、WAMP或类似的开发环境。该软件是免费的,将安装一个开发环境,包括Apache、PHP、MySQL,有时还包括Phpmyadmin。
您将获得Apache、PHP、MySQL和一个用于设置本地存储在PC上的测试域的控制面板。
你真的不需要成为任何安装包的专家,因为你将有一个用于设置数据库(Wordpress需要)和创建测试域的控制面板。
我假设您使用的是Windows操作系统,在这种情况下,您希望这是一个简单的过程。这个AMP 样式包可用于Windows和Linux。
建立一个良好的测试环境会给你带来良好的体验,这是一个很好的学习方式,因为如果你犯了错误,除了你自己,你不会伤害任何人。
使用AMP发行版中包含的所有软件包,网上有数千页帮助。
我希望这对你有帮助。