Intereting Posts
У меня есть 2 плагина, используя один и тот же wp_login action hook, и один не работает Модальное окно изнутри WordPress admin Невозможно удалить jQuery по умолчанию в теме Различные боковые меню на каждой странице Клонирование блога WordPress .. проблема с wp-admin Добавление постоянной ссылки на слайды с плагином «Простой Nivo Slider»? Отсутствует аргумент 3 для wp_register_sidebar_widget () Как отключить плагин для определенной страницы? wp_mail очень медленно Сложный PHP для json_encode> как правильно обрабатывать / выводить? WP_Query наиболее просматриваемые сообщения в нескольких типах сообщений за последние 30 дней, исключая конкретный таксономический термин Как переписать URL-адрес с помощью .htaccess в WordPress Plugin Подсчитайте, сколько раз шаблон формы поиска включается на страницу Этот код работает, но прерывает загрузчик мультимедиа. Как мне интегрировать его таким образом, который не будет? Пользовательские меню создаются, но не отображаются в панели администратора

Добавить сообщение мета-ключ и значение, только если оно не существует в сообщении

У меня есть пользовательское поле в продукте WooCommerce, и я вводил в него идентификатор другого продукта. При сохранении этого продукта я добавляю мета-поле к введенному продукту, создавая «ссылку» между ними. У меня это прекрасно работает, но проблема в том, что он добавляет его, даже если он уже существует.

function part_fits($post_id){ global $post; global $product; $current_diagram_id = get_the_ID(); if( have_rows('product_association') ): while( have_rows('product_association') ): the_row(); $single_part_id = get_sub_field('part'); add_post_meta($single_part_id, 'part_fits', $current_diagram_id); endwhile; endif; } 

Есть ли способ проверить, что этот точный ключ и значение уже существуют, и только добавить его, если это не так?

Solutions Collecting From Web of "Добавить сообщение мета-ключ и значение, только если оно не существует в сообщении"

Похоже, вам нужно использовать update_post_meta()

https://codex.wordpress.org/Function_Reference/update_post_meta

Источник: WP Codex

Функция update_post_meta () обновляет значение существующего мета-ключа (настраиваемого поля) для указанного сообщения.

Это можно использовать вместо функции add_post_meta (). Первое, что эта функция будет делать, это убедиться, что $ meta_key уже существует в $ post_id. Если это не так, вместо этого вызывается add_post_meta ($ post_id, $ meta_key, $ meta_value) и возвращается результат.

Возвращает meta_id, если мета не существует, в противном случае возвращает true при успешном выполнении и false при ошибке. Он также возвращает false, если представленное значение совпадает с значением, которое уже находится в базе данных.