Я новичок в использовании PHP полностью, так что я думаю, что это просто отсутствие понимания правильного синтаксиса.
У меня есть домашняя страница, которая создается с помощью WordPress и Advanced Custom Fields. Изображения снова и снова для разных данных одно и то же, поэтому подходящее время для создания правильной функции?
Это моя функция:
<?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");
?>
Где мое понимание и / или синтаксис неверен?
'$flexibleLayout'
буквально строка «$ FlexibleLayout».
Если вы хотите использовать переменную, используйте переменную (без кавычек):
if (have_rows($flexibleLayout, $pageID)) :
Других решений пока нет …