update_post_meta serialize array
-
Добрый день.
пишу функцию.
при нажатии на кнопку мета поле поста должно обновиться и туда должен дописаться id пользователя, который нажал на кнопку.
если данное мета поле обновить через редактирование поста, то в БД получаю результат:
a:1:{i:0;s:1:»2″;}
Если мета поле обновить через кнопку, то получаю:
a:2:{i:0;s:0:»»;i:1;i:1;}в функции использую код:
$user_id = get_current_user_id(); $a = get_post_meta($post_id, 'trs-user', false); $a[] = $user_id; update_post_meta($post_id, 'trs-user', $a);подскажите, что не так сделал?
-
$a = get_post_meta($post_id, 'trs-user', false);Попробуйте последним параметром указать
true.если указать true
получаюGET https://trs.it-s.su/wp-admin/admin-ajax.php?action=blog_status_change&blog_status_id=81 500
jquery.min.js?ver=3.5.1:2т.к. у меня ACF используется
я заменил
update_post_meta($post_id, 'trs-user', $a);вот на это
update_field('trs-user', $a, $post_id );данные сохраняются нормально, но они перезаписываются, а нужно добавлять к текущим данным.
и подведу итог.
полностью рабочий код, который наконец меня устроил и работает.$user_id = get_current_user_id(); $a = get_field('trs-user', $post_id, true); $a[] = $user_id; update_field('trs-user', $a, $post_id );$user_id — получаем ID авторизованного пользователя
$a — получаем массив ACF поля
$a[] — добавляем значение к массиву
update_field — обновляем с помощью плагина ACF
Тема «update_post_meta serialize array» закрыта для новых ответов.