2016-01-21 104 views
0

我想让我的主题完全独立于ACF的get_fieldthe_field(所以万一插件被禁用,网站不会中断)。我有一个图像,通过自定义字段'slider_image'加载为内联background-image。我需要调用图像的URL。是否有可能加载到内联html?这里是工作的代码(W/ACF的the_field):删除WordPress的高级自定义字段的前端依赖

<!-- Hero Image --> 
    <section class="hero" style="background: url('<?php the_field('slider_image'); ?>') no-repeat center center; background-size: cover;"> 
    </section> 
    <!-- End Hero Image --> 

如何使用get_post_meta重写的情况下,这种说法插件被禁用?

我已经试过:

<section class="hero" style="background: url('<?php echo get_post_meta(get_the_ID(), 'slider_image', true); ?>') no-repeat center center; background-size: cover;"> 

将返回:

<section class="hero" style="background: url('98') no-repeat center center; background-size: cover;"> 

回答

1

这一定是对后附图片的ID。要抓住当前的图像,你必须要使用一些嵌入式WP功能,如wp_get_attachment_image(如果您想打印的图像标签)或wp_get_attachment_image_src(如果你想图像属性)

例如,在你的情况下,如果你只想要的url image你可以做这样的事情:

$img_id = get_post_meta(get_the_ID(), 'slider_image', true); 
$image_attr = wp_get_attachment_image_src($img_id, 'large'); //returns false or array 
if ($image_attr) { 
    $img_url = $image_attr[0]; ?> 
    <section class="hero" style="background: url('<?php echo $img_url; ?>') no-repeat center center; background-size: cover;"> 
<?php } ?> 
相关问题