第二个特色帖子未显示在页面上

时间:2017-10-17 作者:jordan

您好,我添加了multipostthumbnails插件,并使所有设置都正常,但现在当我尝试在模板中显示缩略图时,帖子图像不会显示出来。我已经检查了docs 在多端口上,结果发现您无法使用get_post_type() 当你在你的标题中或在一个页面上时,你必须直接传递帖子类型,但我仍然无法获得url来显示我的背景图像。有什么想法吗?

功能。php

new MultiPostThumbnails(array(
  \'label\' => \'Banner Image\',
  \'id\' => \'secondary-image\',
  \'post_type\' => array( \'research\',\'events\',\'people\',\'labs\',\'publications\',\'projects\',\'equipment\',\'job\',\'media\',\'page\' )
   ) );
}
模板

<div class="banner banner-detail row" <?php if (class_exists(\'MultiPostThumbnails\')) : ?> style="background-image: url(\'<?php MultiPostThumbnails::get_post_thumbnail_url(\'media\', \'secondary-image\'); ?>\');" <?php else : ?>style="background-image: url(\'/wp-content/themes/tqt/img/hero-dim.jpg\')" <?php endif; ?> >

1 个回复
最合适的回答,由SO网友:Jesse Vlasveld 整理而成

您正在尝试获取要在内联样式中使用的缩略图URL。你需要[the_post_thumbnail_url()][1] 这样做。the_post_thumbnail() 返回实际图像,而不是图像的URL(需要将其显示为背景图像)。

此特定插件提供get_post_thumbnail_url() 函数来执行此操作。

您可以这样使用它(包括背景图像属性):

style="background-image: url(\'<?php MultiPostThumbnails::get_post_thumbnail_url(get_post_type(), \'secondary-image\'); ?>\');"
另外,请注意,如果您正在呼叫the_post_thumbnail() 在循环之外的函数,您需要提供$post_id.

<?php
$attr = array(
    \'id\' => get_the_ID(),
);
MultiPostThumbnails::the_post_thumbnail( get_post_type(), \'secondary-image\', $attr );
?>
请参见the_post_thumbnail() 在WordPress codex中multi post thumbnails 插件Wiki和源代码以查看其实现。

结束

相关推荐

Duplicate images in wordpress

我在我的网站上使用wordpress,但“博客”部分(这里称为新闻和事件)有问题。为什么第一张图片会被复制-http://www.fiumanofineart.com/news-events/我试过修复它,但我不能。。。任何帮助都会很好,谢谢