努力用ACF WordPress显示图像



我一直在尝试用ACF代码显示一个图像,并且刚刚使其工作,但我不明白为什么有些代码工作,有些代码不工作。

if(get_row_layout() == 'bq_product'):
$image = the_sub_field('affiliate_image');
$affiliate_url = the_sub_field('affiliate_url');


?><img src="<?php echo $image ?>"/><?php //This line doesn't work and just displays the raw URL on the front end
?><img src="<?php the_sub_field('affiliate_image') ?>"/><?php //This line works and shows the image
?><a href="<?php $affiliate_url ?>">Link</a> //Similarly, this line doesn't use the URL set in affiliate_url, but does if I pass "the_sub_field('affiliate_url')"

如何在不在前端显示原始URL的情况下使用image src中的变量名?

我试过用";子字段"get_sub_field";变化,但它们似乎没有什么不同。

正如@Stender所评论的那样,尝试使用ACFthe_sub_field()存储变量是行不通的。

使用get_sub_field()将返回的ACF字段数据存储到变量中。

然后根据设置ACF字段返回的内容访问变量数据。。。arrayIDURL

  1. 请参阅以下示例(基于affiliate_imageACF字段返回格式URL(
// if row layout is 'bq_product'
if(get_row_layout() == 'bq_product'):

// sub field vars
$affiliate_image  = get_sub_field('affiliate_image');
$affiliate_url    = get_sub_field('affiliate_url');

// if $affiliate_image variable is not boolean false    
if($image) {
echo '<img src="' . $affiliate_image . '" alt="" />';
}
// if $affiliate_url is not boolean false
if($affiliate_url) {
echo '<a href="' . $affiliate_url . '">Link</a>';
}
endif;  
  1. 请参阅以下示例(基于affiliate_imageACF字段返回格式array(
// if row layout is 'bq_product'
if(get_row_layout() == 'bq_product'):

// sub field vars
$affiliate_image  = get_sub_field('affiliate_image');
$affiliate_url    = get_sub_field('affiliate_url');
// use this to dump $affiliate_image array to see data for image sizes etc
// echo '<pre>' . print_r($affiliate_image, true) . '</pre>';

// if $affiliate_image variable is array       
if(is_array($affiliate_image) {
echo '<img src="' . $affiliate_image['url'] . '" alt="' . $affiliate_image['alt'] . '" />';
}
// if $affiliate_url is not boolean false
if($affiliate_url) {
echo '<a href="' . $affiliate_url . '">Link</a>';
}
endif;  

最新更新