您好,我添加了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; ?> >
最合适的回答,由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和源代码以查看其实现。