Intereting Posts
Запрос пользовательского цикла на основе настраиваемого поля Показывать новые сообщения с момента последнего входа пользователя в систему Разделить базу данных на большом сайте? Создание бэкэнда Ajax для специализированного шаблона страницы? Следует ли использовать admin-ajax.php? Как показать главную страницу на другом URL-адресе, например site.com/blog, а не на сайте? the_excerpt () не возвращает содержимое поля Excerpt Изменение пользовательского поля Woocommerce Определение настраиваемого шаблона страницы без собственного .php-файла Существует ли шаблонный тег, который я могу использовать для ссылки на страницу архива, соответствующую месяцу публикации публикации? Как страницы URL-адреса WordPress зависят от настроек постоянной ссылки? wp_insert_term игнорирует существующие термины и увеличивает приращение добавьте значение переменной, возвращаемой в цикле while Как вывести сообщения WordPress из одного блога во внешний блог? Проблема с плагином о Условиях и условиях ограничение пользовательской перезаписи только одним пользовательским типом сообщения

Я бы хотел, чтобы add_post_meta возвращал идентификатор вместо true или false

Я хотел бы знать, есть ли способ иметь идентификатор, когда мы используем add_post_meta() ?

Мне нужно это, чтобы я мог удалить его с помощью вызовов ajax.

Есть ли способ получить его или мне придется сделать запрос к базе данных, чтобы найти его?

В соответствии с Кодексом, используя add_post_meta() вы не можете. Эта функция должна возвращать либо true либо false .

Однако эта функция является тонкой оболочкой вокруг add_metadata()

 1726 function add_post_meta($post_id, $meta_key, $meta_value, $unique = false) { 1727 // make sure meta is added to the post, not a revision 1728 if ( $the_post = wp_is_post_revision($post_id) ) 1729 $post_id = $the_post; 1730 1731 return add_metadata('post', $post_id, $meta_key, $meta_value, $unique); 1732 } 

https://core.trac.wordpress.org/browser/tags/3.8.1/src/wp-includes/post.php#L1726

… и add_metadata() возвращает идентификатор вставки строки.

Возвращаемые значения

(Логическое | целое число)
Возвращает false при ошибке. При успешном завершении возвращает идентификатор вставленной строки . Однако обратите внимание, что возвращаемое значение может быть результатом фильтра add_{$meta_type}_metadata .

http://codex.wordpress.org/Function_Reference/add_metadata

Вы также можете видеть это в источнике:

 73 $mid = (int) $wpdb->insert_id; 74 75 wp_cache_delete($object_id, $meta_type . '_meta'); 76 77 do_action( "added_{$meta_type}_meta", $mid, $object_id, $meta_key, $_meta_value ); 78 79 return $mid; 80 } 

https://core.trac.wordpress.org/browser/tags/3.8.1/src/wp-includes/meta.php#L31

Учитывая источник этих двух функций, я не вижу, как add_post_meta() может возвращать boolean когда оно просто передает информацию и возвращает результат add_metadata() .

Я просто быстро add_post_meta() на старой (3.6) установке на чисто локальном сервере тестирования, и я получил идентификатор, а не true или false . Если вы получаете boolean я подозреваю, что это может быть «результат add_{$meta_type}_metadata filter», как указано в документации к add_metadata()

Проблема также может быть связана с тем, как работает ваш AJAX, но вы не размещали никаких подробностей или кода, связанных с этим.

Вам не нужен id мета-таблицы. Существуют встроенные функции wordpress для обработки метаданных. Вы можете использовать функцию get_post_meta для ее получения. Используйте delete_post_meta, чтобы удалить его. Вы также можете использовать update_post_meta, если хотите обновить значение.