因此,我正在创建一个返回一些ACF内容的短代码。
以下代码起作用:
function howitworks() {
$page = get_page_by_title('shop');
if (have_rows('steps', $page->ID)) :
while (have_rows('steps', $page->ID)) : the_row();
$image = get_sub_field('icon');
$i = '
'.the_sub_field('step').'
'.the_sub_field('description').'
';
endwhile;
endif;
return $i;
}
add_shortcode('howitworks', 'howitworks');我遇到的问题是,我想在if和while之间添加一个div容器。我尝试过多种方法。我尝试了另一个变量,如$j = '
',然后添加了另一个返回return $i, $j...but,然后出现了语法错误。如果我添加了一个分号,错误就会消失,但是div不会被返回。如果我想要在这段时间内,我会没事的。但似乎我有问题,因为我试图把它放在外面的时间。
我尝试过的另一件事是返回外部div,比如:return '
';,它将返回div,但是我最初的返回不会返回任何内容。
有什么想法吗?
谢谢,乔什
发布于 2019-11-22 18:31:48
试试这个:
ID)) :
$html .= '';
while (have_rows('steps', $page->ID)) : the_row();
$image = get_sub_field('icon');
$html .= '
'.get_sub_field('step').'
'.get_sub_field('description').'
';
endwhile;
$html .= '';
endif;
return $html;
}
add_shortcode('howitworks', 'howitworks');
?>编辑:我更改了用get_sub_field替换get_sub_field的代码
发布于 2019-11-22 18:58:27
所以,我想赞扬山姆,他解决了这个问题,所以他的答案是正确的.我只是做了一些小调整,使它100%的工作。我创建了get_sub_field变量而不是内联调用它们,这帮助它们正确显示(而不是在div容器之上)我的最终代码如下所示:
function howitworks() {
$page = get_page_by_title('shop');
$html = '';
if (have_rows('steps', $page->ID)) :
$html .= '';
while (have_rows('steps', $page->ID)) : the_row();
$image = get_sub_field('icon');
$step = get_sub_field('step');
$desc = get_sub_field('description');
$html .= ''.$step.''.$desc.'';
endwhile;
$html .= '';
endif;
return $html;
}
add_shortcode('howitworks', 'howitworks');谢谢,乔什
https://wordpress.stackexchange.com/questions/353129
复制相似问题