Intereting Posts
переопределить фильтр в плагине Использовать почтовые форматы только для определенного типа сообщений? meta_query возвращает исключенный результат Как перемещаться по категории? Много кодов здесь на stackexchange не работало Атрибуты не передаются в вложенном коротком коде Лучший способ объединить Dev и Live Site, чтобы стать промежуточным сайтом? Запрос wpdb php get_var для получения идентификатора для URL-изображения не работает для ID более 999 Настройка 3 сайтов для подключения к 1 базе данных и совместного использования данных Однословные шаблоны Тип страницы для страницы Изменять атрибут href тега <a> динамически в WordPress Показать избранные сообщения Сетка на статической странице (вестник) Как иметь кнопку совместного доступа с моего сайта приятеля на внешних сайтах, таких как facebook? Есть ли альтернатива WordPress для модуля Book Drupal? .html конец URl повлиял на SEO?

Как определить последнюю отредактированную дату публикации?

Я пишу небольшой скрипт извлечения, чтобы сделать DB pull. Меня попросили получить все сообщения о ресторанах (тип пользовательских сообщений), которые входят в число 1000 лучших хитов, или были добавлены или отредактированы за последние 3 года. Хорошо, так что у меня есть 1000 лучших хитов, сделанных через экспорт из Google Analytics. Затем я сделал SQL-экстракт следующим образом:

SELECT p.ID, concat('http://www.toronto.com/restaurants/', p.post_name) FROM wp_posts p WHERE p.post_type = 'restaurant' AND p.post_status = 'publish' AND p.post_modified < DATE_SUB(now(), INTERVAL 36 MONTH); 

Я думал, что у меня это лизало. Затем пользователи посмотрели на него и нашли несколько ресторанов, которые, как я думал, были за пределами 3-х лет, которые были на самом деле внутри . При расследовании я обнаружил, что это связано с пересмотром . 🙁

Итак, какова наилучшая практика для определения последней отредактированной даты с учетом изменений?

Solutions Collecting From Web of "Как определить последнюю отредактированную дату публикации?"

Если я правильно задал ваш вопрос и вам нужны сообщения, созданные / измененные между 3 годами и сегодня, попробуйте этот запрос:

 SELECT p.ID, concat('http://www.toronto.com/restaurants/', p.post_name) FROM wp_posts p WHERE p.post_type = 'restaurant' AND p.post_status = 'publish' AND p.post_modified > DATE_SUB(now(), INTERVAL 36 MONTH); 

Поскольку ваш DATE_SUB возвращает что-то вроде этого: СЕЙЧАС – 3 года, так что это что-то вроде строк 2011-09-20 12:21:41.000000 , и вы используете знак < , поэтому вы проверяете почту, которая была создана или изменен до этой даты, поэтому вместо получения сообщения, созданного / измененного между 3 годами ранее и сегодня, вы получаете сообщение, созданное / измененное более 3 лет назад.

Кроме того, вы не получаете ревизию, потому что, когда вы укажете post_type = 'restaurant' , и в редакции есть post_type называемая revision , вы просто получаете сообщение, относящееся к настраиваемому типу сообщений, указанному вами.