Задача. Есть интернет-магазин на Woocommerce и база 1С: Предприятия. Компания продает товары в разных городах и имеет там свои склады….
update_post_meta
update_post_meta()
— Wordpress-функция обновляет указанное произвольное поле (метаполе) указанной записи (поста) или добавляет новое. Может быть использована вместо add_post_meta()
, т.к. сначала проверяется наличие произвольного поля у указанного поста, если поле не найдено, то управление полностью передается функции add_post_meta()
.
Возвращает: true — при успешном обновлении; false — при неудаче. Или когда было передано такое же значение поля (как в бд); Число — ID первичного поля таблицы метаполей (meta_id), когда было создано новое поле.
ВАЖНО! Функция проверяет не является ли указанная запись (ID поста) ревизией. Если указана ревизия, то ID меняется на ID родительской записи. Т.е. метаданные в любом случае будут обновляться у родительской записи (не у ревизии).
update_post_meta( $post_id, $meta_key, $meta_value, $prev_value );
- $post_id(число) — обязательный ID поста, произвольное поле которого нужно обновить/создать.
- $meta_key(строка) — обязательный ключ произвольного поля, которое нужно обновить/создать.
- $meta_value(обязательная строка/массив) — новое, значение произвольного поля, которое нужно обновить/создать. Если передать массив, то значение будет серриализованно в строку.
- $prev_value(строка/массив) — значение произвольного поля, которое мы хотим изменить. Нужно для тех случаев, когда у поста имеются несколько произвольных полей с одинаковыми ключами. Если не указать этот параметр и у поста имеются несколько полей с одинаковыми ключами, то все поля будут обновлены.