WP: обновить у комментариев мета поле sql запросом

176
20 октября 2018, 09:10

На странице поста, т.е. в цикле, необходимо при загрузке страницы пройтись по комментариям и изменить определённое мета поле (именно изменить, если оно есть) у всех комментариев, обладающих им. Работать с функцией update_comment_meta не получится:

  • Функция будет создавать мета поле, если его нет у комментария
  • Насколько я понял каждый вызов - обращение к БД. Так себе перспектива по нагрузке

Думаю, будет лучше одним sql запросом пройтись по комментариям текущего поста (передать $comment_post_ID), найти комментарии с нужным мета полем и если в значении мета поля стоит 1, то выставить 0 (или true/false - без разницы).

Насколько я понимаю, сначала надо залезть в таблицу с комментариями (wp_comments), собрать все ID комментариев текущего поста, после с этим массивом ID'шников пройтись по таблице wp_commentmeta и выполнить обновление.

Требуется помощь с составлением запроса.

global $wpdb;
$sql = '
    SELECT GROUP_CONCAT( comment_ID ) AS ids
    FROM  `wp_comments` 
    WHERE comment_post_ID =  '.%ТУТ_ID_ПОСТА%;
    $ids = $wpdb->get_results($sql, ????);

В get_results в каком виде вернуть данные OBJECT или ARRAY_A? Начало правильное? А дальше как?

READ ALSO
Ошибка при подключении модели

Ошибка при подключении модели

Пытаюсь подключить модель в контроллере

154
Фраймворк slim zend работает некоректно в Ubuntu

Фраймворк slim zend работает некоректно в Ubuntu

Фрайимворк работает на linux не полностью Некоторые переменные от PHP jquery определяет пустыми и выдаёт алерт сообщение На виндовс в xamp server таких...

172
Как вывести значение по номеру из отсортированного массива?

Как вывести значение по номеру из отсортированного массива?

Допустим отсортировали ассоциативный массив, теперь надо вывести значение по номеру

201
сбор массива из данных приходящих из бд

сбор массива из данных приходящих из бд

Нужно собрать один массив из данных пользователя, которые записаны в несколько разных таблиц, в некоторых таблицах есть несколько записей...

152