我试图使我的主题完全独立于ACF get_field
和the_field
(因此,如果插件被禁用,网站将不会中断)。我有一个通过自定义字段'slider_image'
加载的图片作为内联background-image
。我需要调用图像的URL。是否可以将其加载到内联的html中?这是工作代码(与ACF' s the_field
):
<!-- 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;">
答案 0 :(得分:1)
这必须是附加图像的帖子的ID。要获取当前图像,您必须使用某些嵌入式WP功能,如wp_get_attachment_image(如果要打印图像标记)或wp_get_attachment_image_src(如果需要图像属性)
例如,在您的情况下,当您只想要url
图片时,可以执行以下操作:
$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 } ?>