Вы определяете $ favours, когда вызываете mws_get_user_meta в своем классе.Затем вы повторно объявляете $ Favorites как массив, когда добавляете скобки после него, но это игнорируется, потому что это уже массив, или, как Алекс предполагает, что ваш массив может потерять свой формат, когда вы это сделаете.Затем с помощью = вы нажимаете post_id, чтобы он оказался в конце массива.
Итак, вы получите:
$this->wms_update_user_meta( array('stuff returned from wms_get_user_meta, $post_id);
Это объясняет, почему ваша 7 всегда находится в конце ваших данных.
Я бы взглянул на функцию mws_get_user_meta и убедился, что вы отправляете правильные аргументы.Ядро требует 3 аргумента, и я подозреваю, что функция вашего класса делает то же самое.Вот базовая функция :
function update_user_meta( $user_id, $meta_key, $meta_value, $prev_value = '' ) {
return update_metadata( 'user', $user_id, $meta_key, $meta_value, $prev_value );
}
Обратите внимание, что $ user_id, $ meta_key, $ meta_value - все они обязательны или возвращают значение false.