【发布时间】:2013-06-29 19:57:45
【问题描述】:
我正在使用安装在 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 文件中建议的那样):
定义 ('ALLOW_ALL_EXTERNAL_SITES', TRUE);
我的网站名称中没有波浪号,正如其他解决方案所建议的那样。
我真的很茫然。并且希望得到任何帮助 - 似乎它可能是一个简单的语法错误或其他东西,但我找不到它。
【问题讨论】:
-
您的代码是正确的,但是请检查您在生成的 timthumb 文件中缓存文件夹中的主题。
-
嗨 ravi - 尝试完全删除缓存文件夹然后重新创建它。它是空的,我更新了我的测试站点,并在缓存文件夹中添加了 2 个文件 - “index.html”和“timthumb_cacheLastCleanTime.touch”,所以这似乎工作正常?