Как проверить существование мета-ключа записи в базе данных WordPress

25 июл. 2012 г., 12:34:06
Просмотры: 38.6K
Голосов: 14

Я хочу проверить, существует ли мета-ключ записи или нет, вне цикла WordPress. Есть ли какая-либо функция WordPress для проверки существования мета-ключа записи в базе данных WordPress? Мне нужно выполнить эту проверку вне цикла. Буду признателен за любую помощь.

1
Комментарии

возможный дубликат Стратегия получения post meta для использования вне цикла

Brian Fegter Brian Fegter
25 июл. 2012 г. 13:03:41
Все ответы на вопрос 2
1
37

Если кто-то еще наткнется на этот старый вопрос, как это только что случилось со мной, то похоже, что лучший способ решить эту задачу - использовать функцию metadata_exists()

Смотрите документацию: https://developer.wordpress.org/reference/functions/metadata_exists/

Вот как будет выглядеть синтаксис для проверки метаданных поста:

metadata_exists('post', $post_id, 'meta_key_to_check');
14 сент. 2016 г. 01:34:03
Комментарии

Это хороший, лаконичный ответ — обратите внимание, что первый аргумент является не типом записи, а группой объектов, которая по сути связана с родительской таблицей, где хранятся метаданные.

Q Studio Q Studio
6 окт. 2022 г. 12:15:55
1

Вы можете использовать функцию get_post_custom(ID_ЗАПИСИ), которая возвращает многомерный массив со всеми произвольными полями конкретной записи или страницы.

Например:

$meta_data = get_post_custom(785);
if ($meta_data['my_meta_key'][0] != "")
    ...

Это позволит вам проверить, пусто ли конкретное мета-поле или нет.

25 июл. 2012 г. 13:31:41
Комментарии

Вам следует использовать isset( $meta_data['my_meta_key'][0] ), чтобы проверить существование. Если же вам нужно узнать, пустое ли значение ИЛИ оно не существует, вы можете сразу использовать get_post_meta.

NextGenThemes NextGenThemes
14 дек. 2020 г. 07:17:35