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

8

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

Рабин Шреста
источник

Ответы:

23

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

см. https://developer.wordpress.org/reference/functions/metadata_exists/

Вот какой синтаксис будет для мета-поста:

metadata_exists('post', $post_id, 'meta_key_to_check');
Джон О
источник
2

Вы можете использовать get_post_custom (POST ID GOES HERE), который будет возвращать многомерный массив со всеми настраиваемыми полями определенного поста или страницы.

Так что-то вроде:

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

позволит вам проверить, был ли конкретный meta_key пустым или нет.

Дэвс Ховард
источник