为 foreach 逻辑条件提供的参数无效
Invalid argument supplied for foreach logical condition
我正在为条件逻辑创建一个插件,但我遇到了这个错误:
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;
}
建议?
我会 google foreach
、json_decode
和 get_post_meta
函数。在foreach
中,$fields
需要是一个数组。我的猜测是
$fields = json_decode(get_post_meta($variations[ 'variation_id' ],'xwtvarLinkData',true));
不是 return 数组。
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;
}
我正在为条件逻辑创建一个插件,但我遇到了这个错误:
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;
}
建议?
我会 google foreach
、json_decode
和 get_post_meta
函数。在foreach
中,$fields
需要是一个数组。我的猜测是
$fields = json_decode(get_post_meta($variations[ 'variation_id' ],'xwtvarLinkData',true));
不是 return 数组。
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;
}