在 iOS 上使用 Wordpress 进行本地开发时,资源加载失败

On local development with Wordpress on iOS, resources fail to load

一直在使用 MAMP (localhost:81) 开发 Wordpress 主题,我现在正在 iOS 上测试一些响应部分(使用我的 IP (192.168.1.15:81)。

一些图像是硬编码的(即无法从管理员更改),使用以下代码:

<img  src="<?php echo get_template_directory_uri(); ?>/images/brand-id.svg" onerror="this.src=<?php echo get_template_directory_uri(); ?>/images/brand-id.png" alt="Brand Name" />

它在本地主机和 IP 上都正确显示,从桌面,但是使用 iOS (8.1) 上的 IP,它找不到资源,因为它以这种形式加载它:

http://localhost:81/alexe.ro/wp/wp-content/themes/brand/images/brand-id.svg

我正在使用 Relative URL Wordpress 插件,但这似乎只适用于加载 css/js/fonts。

其他细节:动态图像(从 cms 上传的)完美加载。

如有必要,如何获取 'hard-coded' 资源以在本地主机和 IP 之间切换?

提前致谢。

尝试将以下内容添加到您的 wp-config.php 文件中。

define('WP_HOME','192.168.1.15:81');
define('WP_SITEURL','192.168.1.15:81');

您的 site_url() 将设置为 localhost:81,因此将尝试通过 get_template_directory_uri().

访问您设备上的 localhost

问题与 IOS 无关,它无法从 LAN 中的任何机器读取正确的路径,除了你的开发机器。

其中一种解决方法是:

使 WP 始终在 http://IP:port 下 运行 而不是 http://localhost:port

在你的情况下,看起来你的 WP 位于子目录 /wp 中,然后登录管理面板,然后按照以下方式进行更新:

设置 > 通用 > WordPress 地址 >> http://192.168.1.15:81

设置 > 常规 > 站点地址 >> http://192.168.1.15:81/wp

还建议在路由器上为开发机器设置一个 static/preserved IP 地址,这样它将始终收到相同的 IP 地址。

我也喜欢@asherstoppard 发布的 好吧,你可以玩一下,找到最适合你的。

还有一个提示:首先备份你的数据库,以防万一。