PHP函数帮助:为重复任务创建一个简单函数

时间:2014-11-12 13:58:37

标签: php wordpress function advanced-custom-fields

我是完全利用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");
?>

我的理解和/或语法在哪里不正确?

1 个答案:

答案 0 :(得分:2)

'$flexibleLayout'字面意思是字符串&#34; $ flexibleLayout&#34;。
如果要使用变量,请使用变量(不带引号):

if (have_rows($flexibleLayout, $pageID)) :