我正在使用安装在localhost上的wordpress构建一个站点。
出于某种原因,我的post.php页面没有显示文章缩略图(特色图片)。我发现timthumb.php有问题,它没有正确定位图像url。我在网上搜索了几个小时,尝试了很多解决方案,但似乎都不起作用。
基本问题是,我认为在我的blog.php文件中的这一行:
<?php
if ( has_post_thumbnail() ) { ?>
<a href="<?php the_permalink() ?>"><img class="postimg" src="<?php bloginfo('stylesheet_directory'); ?>/timthumb.php?src=<?php get_image_url(); ?>&h=200&w=470&zc=1" alt=""/></a>
<?php }
else { ?>
<a href="<?php the_permalink() ?>"><img class="postimg" src="<?php bloginfo('template_directory'); ?>/images/dummy.png" alt="" /></a>
<?php } ?>
我的functions.php脚本将get_image_url定义如下:
function get_image_url(){
$image_id = get_post_thumbnail_id();
$image_url = wp_get_attachment_image_src($image_id,'large');
$image_url = $image_url[0];
echo $image_url;
}
在网站中,它返回dummy.png图像(损坏的图像)-当我右键单击图像并在新选项卡中打开时,我得到的错误是:
"出现Timthumb错误-找不到您指定的内部图像"
然后显示我的查询字符串:
Query String : src=http://localhost/wordpress/frouzeh/wp-content/uploads/sites/3/2013/04/PurpleNecklace.png&h=200&w=470&zc=1
然而,如果我真的使用URL:来访问图像
http://localhost/wordpress/frouzeh/wp-content/uploads/sites/3/2013/04/PurpleNecklace.png
图像显示出精细的
- 我正在使用本地主机在windows上进行开发,因此它不能成为文件夹的权限控制
- 使用最新版本的timthumb 2.8.11
- 我已经尝试删除大小调整参数:&h=200&w=470&zc=1,但仍然得到相同的错误
我已经启用(正如timthumb.php文件中的一些解决方案所建议的那样):
define('ALLOW_ALL_EXTERNAL_SITES',TRUE);
我的网站名称中没有其他解决方案建议的波浪号。
我在这里真的不知所措。如果有任何帮助,我将不胜感激-看起来可能是一个简单的语法错误或其他什么,但我找不到。
在尝试解决这个问题数小时后,我决定将我的wordpress站点转移到实时服务器(linux)上。然后,我将Cache文件夹的访问权限更改为755,我的图像就回来了。
这是一个权限问题,但我仍然不确定为什么即使在查看了缓存文件夹的属性并更改了那里的权限后,它也不能在我的windows机器上工作——如果有任何见解,我将不胜感激。。。