我正在使用localhost上安装的wordpress构建网站。
由于某种原因,我的post.php页面没有显示帖子缩略图(特色图片)。我已经发现timthumb.php是一个问题,它没有正确定位图像网址。我在网上搜索了几个小时并尝试了一些解决方案,但似乎没有任何工作。
基本问题是我想在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
但是如果我真的使用网址转到图片:
http://localhost/wordpress/frouzeh/wp-content/uploads/sites/3/2013/04/PurpleNecklace.png
图像显示正常
我启用了(正如timthumb.php文件中的一些解决方案建议):
define('ALLOW_ALL_EXTERNAL_SITES',TRUE);
我的网站名称中没有其他解决方案提供的波形符号。
我真的很茫然。并希望得到任何帮助 - 似乎它可能是一个简单的语法错误或其他东西,但我找不到它。
答案 0 :(得分:1)
在尝试解决这个问题几个小时后,我决定将我的wordpress网站移动到一个实时服务器(linux)。然后我将Cache文件夹的访问权限更改为755,我的图像又回来了。
这是一个权限问题,但是我仍然不确定为什么即使在浏览缓存文件夹的属性并更改权限后,它也无法在我的Windows机器上运行 - 任何见解都会受到赞赏......