一直在使用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" />
它在localhost和IP上都可以从桌面正确显示,但在iOS(8.1)上使用IP,它无法找到资源,因为它以这种形式加载:
http://localhost:81/alexe.ro/wp/wp-content/themes/brand/images/brand-id.svg
我使用的是相对URL Wordpress插件,但这似乎只适用于加载css / js / fonts。
其他细节:动态图像(从cms上传的图片)加载完美。
我怎样才能获得硬编码的&#39;如有必要,可以在localhost和IP之间切换资源吗?
提前谢谢。
答案 0 :(得分:1)
问题与IOS无关,除了开发人员之外,它无法从局域网内的任何机器读取正确的路径。
其中一个解决方案是:
使WP始终在http://IP:port
而不是http://localhost:port
在您的情况下,看起来您的WP位于子目录/wp
中,然后登录管理面板,然后按以下步骤进行更新:
设置&gt;一般&gt; WordPress地址&gt;&gt; http://192.168.1.15:81
设置&gt;一般&gt;网站地址&gt;&gt; http://192.168.1.15:81/wp
还建议在路由器上使用静态/保留的IP地址设置开发机器,因此它始终会收到相同的IP地址。
我也喜欢@asherstoppard发布的solution嗯,你可以玩,找到最适合你的。
再提示一下:首先备份您的数据库,以防发生任何不良事件。
答案 1 :(得分:0)
尝试将以下内容添加到wp-config.php
文件中。
define('WP_HOME','192.168.1.15:81');
define('WP_SITEURL','192.168.1.15:81');
您的site_url()
将设置为localhost:81
,因此会尝试通过localhost
访问您设备上的get_template_directory_uri()
。