0

我正在开发 108.179.217.161,这是一个自定义 WordPress 主题,我在主页上设置了一个滑块。但是,在每个单独的页面上,我想使用特色图像作为实际的主图像,并且只使用主页上的旋转器。

我正在使用带有旋转器小部件的小部件区域以及 if 语句来区分页面是否不是主页,但是图像无法正确呈现。请参阅 108.179.217.161/contact-us/。

下面是我的代码:

<div id="slider" style="position:relative;height:679px;width:100%;">
<!--<img width=1228 src="<?php bloginfo(template_url)?>/images/room-slider.png" alt="" style="position:absolute;z-index:-20;width:100%;height:679px;"/>-->
<div style="position:absolute;z-index:-20;width:100%;height:679px;overflow:hidden;">
<?php if (is_page('Home')) {?>
<?php if (!function_exists('dynamic_sidebar') || !dynamic_sidebar('Rotator')) : ?>
[ do default stuff if no widgets ]
<?php endif; ?>
<? } else {
    $thumb = get_post_meta($post->ID,'_thumbnail_id',false);
    $thumb = wp_get_attachment_image_src($thumb[0], 'header', false);
    $thumb = $thumb[0];
echo "<img src='$thumb' alt='' style='position:relative;z-index:1;width:1621px;height:679px;'";
}?>
</div>
4

1 回答 1

0

棘手的业务那些 wordpress 附件!

首先,您在 wp_get_attachment_image_src 调用中调用“标题”图像大小。您是否在 functions.php 文件中定义了此自定义图像大小?

接下来,确保在您的媒体页面上,这些文件实际上已附加到您的帖子或页面。我假设您上面的代码处于循环中?否则,您需要告诉 wordpress 您在哪个页面/帖子上。请参阅 wp_query。

接下来,您能否确认如果 if() 语句检测到非主页,您可以回显“NON HOME PAGE”或类似内容,因此您知道该函数本身有效吗?

最后,我必须检查一下,但我想当你打电话时:

$thumb = get_post_meta($post->ID,'_thumbnail_id',false);

然后将下一行中的返回值称为:

$thumb[0]

我不确定你是否从 get_post_meta 得到一个关联数组。根据 Codex,他们说“此函数返回自定义字段的值”。

但是关于 wp_get_attachment 调用,Codex 说:“返回具有图像属性的数组”。所以你在这里引用返回的数组是正确的。

所以我建议的重写是:

$myID = get_post_meta($post->ID,'_thumbnail_id',false);
$myPic = wp_get_attachment_image_src($myID, 'header', false);
$thumb = $myPic[0];

希望对您有所帮助-稍后我会回来查看您是否有任何进展

瑞克

于 2012-10-15T22:21:40.673 回答