2016-08-30 7 views
0

я создаю плагин для условной логики, но у меня есть эта ошибка:Недействительный аргумент для Еогеасп логического условия

Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\ on line 128 

Это код:

function xwtLoadVariationSettingsFields($variations) { 
    $fields = json_decode(get_post_meta($variations[ 'variation_id' ],'xwtvarLinkData',true)); 
    echo '<div class="xwtVariationFields">'; 
    foreach($fields as $k=>$v){ 
     $kParts = explode("--",$k); 
     $field1 = explode("__",$kParts[0]); 
     $field2 = explode("__",$kParts[1]); 
     $div = '<div firstID="'.$field1[0].'" firstVal="'.$field1[1].'" secondID="'.$field2[0].'" secondVal="'.$field2[1].'" value="'.$v.'"></div>'; 
     echo $div; 
    } 
    echo '</div>'; 
    return $variations; 

} 

Подсказать?

+1

* Предложите? * Да - [изменить] ваше сообщение, чтобы добавить тег для языка, который вы используете, для начала. –

ответ

0
function xwtLoadVariationSettingsFields($variations) { 
    $fields = json_decode(get_post_meta($variations[ 'variation_id' ],'xwtvarLinkData',true)); 
    echo '<div class="xwtVariationFields">'; 
    if(is_array($fields) && !empty($fields)){ 
     foreach($fields as $k=>$v){ 
      $kParts = explode("--",$k); 
      $field1 = explode("__",$kParts[0]); 
      $field2 = explode("__",$kParts[1]); 
      $div = '<div firstID="'.$field1[0].'" firstVal="'.$field1[1].'" secondID="'.$field2[0].'" secondVal="'.$field2[1].'" value="'.$v.'"></div>'; 
      echo $div; 
     } 
     } 
    echo '</div>'; 
return $variations; 
} 
0

Я бы сделал google foreach, json_decode и get_post_meta функции. В foreach, $fields должен быть массив. Я предполагаю, что

$fields = json_decode(get_post_meta($variations[ 'variation_id' ],'xwtvarLinkData',true)); 

не возвращает массив.

Смежные вопросы