我是完全利用PHP的新手,所以我认为这只是我对正确语法的理解不足。
我有一个使用WordPress和高级自定义字段构建的主页。对于不同的数据,图像是一遍又一遍的,所以创建函数的正确时间是正确的吗?
这是我的功能:
<?php
function homeMobImgLayout($flexibleLayout) {
$pageID = '333';
// check if the flexible content field has rows of data
if( have_rows('$flexibleLayout', $pageID ) ):
// loop through the rows of data
while ( have_rows('$flexibleLayout', $pageID ) ) : the_row();
// 100% Image
if( get_row_layout() == 'image_100' ):
$img = get_sub_field('img');
$alt = get_sub_field('alt');
echo '<div class="imagePod width100 clearfix">';
echo '<img src="' . $img . '" alt="' . $alt . '" />';
echo '</div>';
// 50% Image
elseif( get_row_layout() == 'image_50' ):
$img = get_sub_field('img');
$alt = get_sub_field('alt');
echo '<div class="imagePod width50 clearfix">';
echo '<img src="' . $img . '" alt="' . $alt . '" />';
echo '</div>';
endif;
endwhile;
else :
// no layouts found
endif;
}
?>
每个函数调用实例都需要更改的唯一内容是我有变量$ flexibleLayout
的两个地方(if( have_rows('$flexibleLayout', $pageID ) ):
while ( have_rows('$flexibleLayout', $pageID ) ) : the_row();
然后我用每个实例调用函数,虽然我只是通过了我想要的值。
示例:
<?php
homeMobImgLayout("pet_boarding_imgs");
?>
和
<?php
homeMobImgLayout("dog_boarding_imgs");
?>
我的理解和/或语法在哪里不正确?
答案 0 :(得分:2)
'$flexibleLayout'
字面意思是字符串&#34; $ flexibleLayout&#34;。
如果要使用变量,请使用变量(不带引号):
if (have_rows($flexibleLayout, $pageID)) :