Intereting Posts
Какие действия следует использовать для публикации или публикации сообщения с оговоркой Есть ли крючок, который срабатывает после создания всех эскизов? Сервер SSH с WordPress Как получить идентификатор продукта wp из permalink и перенаправить на мою собственную страницу продукта темы? Условия таксономии стиля Индивидуально Вызов add_action () в функции wordpress Всплывающее успешное сообщение в Fancybox? Определите, есть ли в Сети уже созданные сайты Проблема пути – получение «localhost» вместо IP Есть ли способ использовать get_sidebar (), когда виджеты не активированы? Google Analytics всегда показывает по крайней мере два просмотра страниц за посещение. Что может быть причиной этого? Urls in Custom Post Type работает для Условий, но не для его таксономий WP_Query: смещение игнорируется, когда posts_per_page равно -1? Изменение определенного значения внутри сложного поля ретранслятора / гибкого содержимого (ACF) Как мы можем использовать условные теги в плагинах?

комментарий meta_query для ключей, которые еще не установлены

Мне нужна помощь по запросу!

Я пытаюсь создать meta_query (для get_comments ) для ключей, которые еще не установлены.

У меня есть код, который позволяет модераторам добавлять индивидуальный мета-ключ к отдельным комментариям. Установите флажок, а мета-ключ настроен на shadow , отмените его, чтобы мета-ключ был установлен в пустую строку.

Это означает, что для комментария есть три возможных состояния. Он может иметь мета-ключ «shadow», он может содержать пустую строку и мета-ключ, или мета-ключ не может быть установлен.

То, что я хотел бы сделать, – это запросить все комментарии, которые либо не имеют этого мета-ключа, либо имеют мета-ключ, который НЕ тень. Достаточно легко выбрать все комментарии, у которых мета-ключ не равен shadow но я не нашел прочь, чтобы также выбрать комментарии, у которых нет набора мета-ключей.

Это код, который я использую, но он не работает. Он выбирает каждый комментарий, который имеет набор мета-ключей, независимо от того, для чего он установлен.

  $comments = get_comments( array( 'meta_query' => array( 'relation' => 'OR', array( // Select comments that don't have the 'shadow' p3_comment_status meta 'key' => 'p3_comment_status', 'value' => 'shadow', 'compare' => '!=' ), array( // Select comments that don't have the p3_comment_status set 'key' => 'p3_comment_status', 'compare' => 'NOT EXISTS' ) ) ) ); 

Любая помощь была бы appricieated.

благодаря

ОБНОВЛЕНИЕ: для записи это код, который в конечном итоге работал для меня:

  $comments = get_comments( array( 'order' => 'ASC', 'post_id' => get_the_ID(), 'meta_query' => array( 'relation' => 'OR', array( // Select comments that don't have the 'shadow' p3_comment_status meta 'key' => 'p3_comment_status', 'value' => 'shadow', 'compare' => '!=' ), array( // Select comments that don't have the p3_comment_status set 'key' => 'p3_comment_status', 'compare' => 'NOT EXISTS', 'value' => '' ) ) ) ); 

Ключ должен был установить 'post_id' => get_the_ID()

Solutions Collecting From Web of "комментарий meta_query для ключей, которые еще не установлены"

Вы не нуждаетесь в трех состояниях. Логически, вы «установили» и «не заданы». Не усложняйте вещи. Когда вы установите флажок, добавьте p3_comment_status . Когда вы снимите флажок, удалите (удалить) ключ. Если вы это сделаете, все, что вам нужно сделать, это использовать EXISTS / NOT EXISTS . Это делает гораздо более простой и быстрый запрос в качестве бонуса.

Вы не разместили код, который сохраняет ваши данные, поэтому подробный ответ невозможен, но delete_comment_meta – это то, что вам нужно.

Для записи это код, который в конечном итоге работал для меня:

  $comments = get_comments( array( 'order' => 'ASC', 'post_id' => get_the_ID(), 'meta_query' => array( 'relation' => 'OR', array( // Select comments that don't have the 'shadow' p3_comment_status meta 'key' => 'p3_comment_status', 'value' => 'shadow', 'compare' => '!=' ), array( // Select comments that don't have the p3_comment_status set 'key' => 'p3_comment_status', 'compare' => 'NOT EXISTS', 'value' => '' ) ) ) ); 

Ключ должен был установить 'post_id' => get_the_ID()