Intereting Posts
Поддомен и подкаталоги вместе в одной установке WordPress multisite не работает Можно ли использовать add_filter из темы для изменения функции плагина? WPML перевод без дублирования сообщения Как добавить дополнительное поле для комментариев в форме над кнопкой отправки? Nginx с WordPress, не показывающий шаблон 404 для определенных типов файлов Могу ли я запускать несколько запросов с помощью $ wpdb-> prepare? Как я могу скрыть Home в моем меню на определенной странице? Как получить все коллекции тегов в woocommerce? Пользовательский тип сообщения и таксономия постоянные ссылки – Структура Разница между крючками Plugin_loaded и admin_int? Правильное использование функции автоматического сохранения в браузере (кеш) Разработка темы: меню связывает вкладку с перескакиванием страницы Как я могу ограничить количество сообщений, созданных для каждой категории? Увеличение использования памяти после обновления до wordpress 4.3

Синхронизация комментариев

У меня есть сайт, который использовал комментарии Facebook в течение определенного периода времени, а затем удалил их для собственных комментариев WP. Я смог написать функцию, которая захватила все комментарии и повторно вставила их в базу данных WP (поскольку комментарии FB не хранятся в WP). Однако API OpenGraph от Facebook не предоставляет адреса электронной почты (что я понимаю).

Поэтому я хочу выполнить следующее:

  1. Запросить таблицу комментариев для определенного имени с помощью comment_author
  2. Потяните все комментарии от этого имени
  3. Если в одном массиве комментариев есть адрес электронной почты, скопируйте его в тот, который отсутствует

Я выполнил №1 и №2, но я нахожусь в недоумении за №3. Есть идеи?

Solutions Collecting From Web of "Синхронизация комментариев"

Подумав еще немного, я понял. Он включает в себя несколько функций для прохождения каждого этапа процесса, но вот он:

https://gist.github.com/4355955

Я не знаю схему, но если вы делаете это для одного конкретного автора за раз, что-то вроде:

 $foo = $db->Execute("SELECT DISTINCT(email) FROM comments WHERE comment_author = ? AND email <> ''",$authorname); if ($foo->count > 0) { $db->Execute("UPDATE comments SET email = ? WHERE comment_author = ? AND email <> ''",$foo[0],$authorname); } 

Извинения за допущение какого-то случайного, универсального объекта / интерфейса db ….