Intereting Posts
Как настроить таргетинг с помощью css, элементов управления в соответствии с уровнем роли пользователя? Пользовательский вывод поля как ошибка массива Есть ли способ измотать update_option для модульного тестирования? Как перенести меню с сайта на мою тему в WordPress? URL таксономии переписывается с помощью CPT slug Нужна помощь при написании запроса $ wpdb Роль, которая может редактировать только виджеты, а не другие параметры темы Почему WordPress иногда присоединяет номера к страницам? Как надежно стиль на основе страницы Получить эскиз сообщения без атрибута width / height Обнаружение встроенных URL-адресов В post_content Как разместить HTML под заголовком (пользовательский) обзор сообщений Условный тег, основанный на роли автора в author.php Удаляет ли пользователи таблицы все логины? wpdb-> prepare и mysql UPDATE – как это делается? Несколько экземпляров плагина nivo slider

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

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

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

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

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

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

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 ….