我正在尝试使我的主题完全独立于ACF的get_field
和the_field
(因此,如果插件被禁用,站点将不会中断)。我有一个通过自定义字段加载的图像 'slider_image'
作为内联background-image
.我需要调用图像的 URL。是否可以将其加载到内联 html 中?这是工作代码(带有ACF的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;">
这必须是附加图像的帖子的 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 } ?>