Обновление WordPress update_post_meta с пустым полем meta_value

Я использую настраиваемые поля и мой код должен заполнять их автоматически, все работает отлично, за исключением двух строк:

Как я получаю поля:

foreach($postMeta as $key => $dataTmp) { if (strpos($key, 'field_') !== false) { $fieldData = unserialize($dataTmp[0]); $fields[] = array( 'field' => $key, 'name' => $fieldData['name'] ); } } 

Кстати, я их заполняю:

  foreach($fields as $name => $field){ if($field['name'] == 'local_players' && !empty($local_players)){ update_post_meta($postID, '_' . $field['name'], $field['field']); update_post_meta($postID, $field['name'], $local_players); }elseif($field['name'] == 'away_players' && !empty($away_players)){ update_post_meta($postID, '_' . $field['name'], $field['field']); update_post_meta($postID, $field['name'], $away_players); }else{ update_post_meta($postID, '_' . $field['name'], $field['field']); update_post_meta($postID, $field['name'], $data['Match.'.$field['name']]); } } 

Строки с бедой:

 update_post_meta($postID, $field['name'], $local_players); update_post_meta($postID, $field['name'], $away_players); 

Они заполняют базу данных пустым meta_value, а не значениями $ local_players и $ away_players. Я несколько раз проверял, что они не пустые.

Для моего примера их значения выглядят так:

 string(66) "84168|84171|11206|84174|102117|32083|84189|84186|84193|17787|84195" 

Что может быть причиной пустого поля?

Solutions Collecting From Web of "Обновление WordPress update_post_meta с пустым полем meta_value"

Хорошо, я нашел проблему. Это было в логике.

Решение:

  foreach($fields as $name => $field){ if($field['name'] == 'local_players'){ if(!empty($local_players)){ update_post_meta($postID, '_' . $field['name'], $field['field']); update_post_meta($postID, $field['name'], $local_players); } }elseif($field['name'] == 'away_players'){ if(!empty($away_players)){ update_post_meta($postID, '_' . $field['name'], $field['field']); update_post_meta($postID, $field['name'], $away_players); } }else{ update_post_meta($postID, '_' . $field['name'], $field['field']); update_post_meta($postID, $field['name'], $data['Match.'.$field['name']]); } }