在 localhost、Wordpress 和自定义字段上重写 img src url
Posted
技术标签:
【中文标题】在 localhost、Wordpress 和自定义字段上重写 img src url【英文标题】:Rewrite img src url's on localhost, Wordpress and Custom Fields 【发布时间】:2012-08-02 04:46:20 【问题描述】:我正在尝试通过自定义字段加载图像,而不是使用特色图像。
我的自定义字段如下
name: image-small
value: /images/thumbs/small/example.jpg
<img src='<?php echo get_post_meta($post->ID, 'image-small', true); ?>'>
而不是将 img src 写为
http://localhost/project.co.uk/images/thumbs/small/example.jpg
它显示
http://localhost/images/thumbs/small/example.jpg
有没有办法编写 htaccess 以便它重新路由 url,或者我是否必须将它硬编码到 html 中直到我上线,然后用上面的代码替换代码?还是有更简单的方法来做到这一点?
我找到了
relative paths to image file in wordpress (3.3.1) custom fields?但它并没有帮助我解决它。
【问题讨论】:
或许:<img src='<?php echo get_post_meta($post->ID, $_SERVER['SERVER_NAME'] . 'image-small', true); ?>'>
?
我会试试的。谢谢戴夫/大卫:)
【参考方案1】:
您的问题是该字段中的 URL 以“/”开头,这意味着“回到域的根目录”。由于就您的浏览器而言,域是“localhost”,因此您将获得“http://localhost/images/...”分辨率。
请注意,执行此解释的是您的浏览器,而不是 PHP 代码。
您需要做的是在 src="" 属性的开头回显您要放在 URL 上的基数,以便从“http://”开始输出完整的 URL。查看您的示例,这可能是home_url() 或site_url()
也就是说,你的代码会变成这样:<img src='<?php echo home_url() . get_post_meta($post->ID, 'image-small', true); ?>'>
【讨论】:
以上是关于在 localhost、Wordpress 和自定义字段上重写 img src url的主要内容,如果未能解决你的问题,请参考以下文章