在WordPress中使用Repeater字段的ACF短码有问题吗?

时间:2016-12-15 作者:raja

我想使用ACF Repeater字段创建一个短代码,所以我找到了这段代码,当我尝试在我的网站上应用它时,它不起作用。我正在使用genesis框架。

我的目标是使用ACF Repeater字段和post或page中的显示表创建一个短代码。

这是我在函数中的代码。php:

function menu_loop () { 

    $menu =   \'<div class="entry-content dishes">\';
// check if the repeater field has rows of data
        if( have_rows(\'menu_sections\') ):

            // loop through the rows of data
            while ( have_rows(\'menu_sections\') ) : the_row();

                // display a sub field value

                $menu.= \'<h2>\' . get_sub_field(\'section_title\') . \'</h2>\';
                if ( have_rows(\'sections_items\'));

                    $menu.= \'<table><thead><tr><td class="ja_name">Name</td><td class="ja_description">Description</td><td class="ja_price">Price</td></tr></thead>\';

                    while (have_rows(\'section_items\') ): the_row();

                        $menu.= \'<tr><td>\'.the_sub_field(\'dish_names\').\'</td><td>\'.the_sub_field(\'dish_description\').\'</td><td>$ \'.the_sub_field(\'dish_price\').\'</td></tr>\';

                    endwhile

                    $menu.= \'</table> \';

            endwhile;

         else : 

            // no rows found

        endif; ?>
        $menu.= \'</div>\';
    // Code
    return $menu;       
}
add_shortcode(\'testimonials\', \'menu_loop\');
使用此代码显示语法错误,意外的“$菜单”(T\\u变量),应为“;”

1 个回复
最合适的回答,由SO网友:Athoxx 整理而成

您忘记了在endwhile 第21行。