我具有以下功能:
function ShowingMenusSep( $atts ) {
$atts = shortcode_atts( array(
'menucats' => '',
), $atts );
if ( empty( $atts['menucats'] ) ) {
// If category provided, exit early
return;
}
ob_start();
$args = array (
'numberposts' => -1,
'order' => 'ASC',
'orderby' => 'menu_order',
'post_type' => array('menus'),
'menucats' => $atts['menucats'],
);
$query = new WP_Query($args);
while( $query->have_posts() ):$query->the_post();
$data .= '<div id="foodmenu-'.get_the_ID().'">';
$data .= '<div class="one">';
$data .= '<div class="menu_content_classic">';
$data .= '<h5 class="menu_post">';
$data .= '<span class="menu_title">'.get_the_title().'</span>';
$data .= '<span class="menu_dots"></span>';
$data .= '<span class="menu_price">'.get_post_meta(get_the_ID(), 'menu_price', TRUE).' '.get_post_meta(get_the_ID(), 'menu_price_currency', TRUE).'</span>';
$data .= '</h5>';
$data .= '<div class="post_detail menu_excerpt">'.get_the_excerpt().'</div>';
$menu_size_item_title_arr = get_post_meta(get_the_ID(), 'menu_size_item_title', true);
$menu_size_item_price_arr = get_post_meta(get_the_ID(), 'menu_size_item_price', true);
if(!empty($menu_size_item_title_arr) && is_array($menu_size_item_title_arr))
{
$data.= '<br class="clear"/>';
foreach($menu_size_item_title_arr as $key => $menu_size_item_title_item)
{
if(!empty($menu_size_item_title_item))
{
$data.= '<h5 class="menu_post size"><span class="menu_title size">'.$menu_size_item_title_item.'</span><span class="menu_dots size"></span>';
}
if(isset($menu_size_item_price_arr[$key]) && !empty($menu_size_item_price_arr[$key]))
{
$data.= '<span class="menu_price size">'.$menu_size_item_price_arr[$key].'</span>';
}
}
}
$data .= '</div>';
$data .= '</div>';
$data .= '</div><div class="clear"></div>';
endwhile; wp_reset_postdata();
return $data;
}
add_shortcode('FoodLoop','ShowingMenusSep');
当我启用wp_debug时,我得到了信息,该行: “ $ data。='';”
生成错误-变量数据未定义。此代码有什么问题?我认为它做得正确。当然,我可以禁用显示错误,但不是重点。
感谢您的任何建议。