Intereting Posts
Застрял в цикле запросов Сброс пароля – Отключено для учетных записей LDAP публикация на передней панели не работает на интерфейсной странице Почта Wp не работает, если Ajaxed Можно ли изменить шаблон списка избранных плагинов Elated таким образом, чтобы он не противоречил будущим обновлениям плагина? Загрузчик мультимедийных файлов не открывается после сохранения виджета Добавить пользовательский фильтр в список пользователей Admin Медиа> Размеры изображения не применяются к загрузкам Что это за код в footer.php моей темы, вызывающий предупреждения разрешения chmod? как показать только определенную категорию для шаблона Понимание детской темы functions.php Преобразовать избранные изображения в «изображения продукта» Можно ли включать файлы с использованием ABSPATH? Переопределить шаблон плагина Как автоматизировать настройку темы, страниц, виджетов и т. Д. Для нового сайта на нескольких сайтах?

Как сделать канал RSS, чтобы показывать наиболее просматриваемые сообщения за последние 24 часа?

Мне нужно отправить мой сайт где-нибудь, и они просят ссылку на rss моих наиболее просматриваемых сообщений в течение последнего дня. Но WordPress по умолчанию не поддерживает такой вариант. Есть ли способ сделать RSS-канал для самых посещаемых сообщений моего блога в последний день?

Ваша проблема состоит из двух частей:

  • Q1: Как получить количество просмотров просмотров за последние 24 часа и сохранить их как сообщение Meta
  • Q2: Я храню количество просмотров в метатете post, как я могу заказать RSS-фид по этим подсчетам?

Q1: Как я могу получить количество просмотров для публикации за последние 24 часа и сохранить их как сообщение Meta?

Использование библиотеки google API, конечно же! Однако API Google не подходит для этого сайта, это стеки WordPress, а не Google.

Другая часть этой части головоломки состоит в том, что вам нужно написать задание wp cron, найти сообщения с устаревшими данными и получить новое количество просмотров. Ничто из этого не будет в реальном времени, и вы столкнетесь с высокой производительностью, если попытаетесь сделать это в реальном времени.

Поэтому сохраните счетчик просмотров в качестве метаданных в сообщении и сохраните вторую мета-запись с указанием времени / даты, когда последнее сообщение было проверено. Используйте это, чтобы WP_Query извлекать устаревшие сообщения, ища даты дольше, чем день или 12 часов назад. Делайте их в партиях, скажем, 10-15, чтобы ваша работа cron не была убита. Также сделайте 10-15 сообщений, на которых не установлены мета-ключи, чтобы ваш существующий контент был проверен

Q2: Я храню количество просмотров в метатете post, как я могу заказать RSS-фид по этим подсчетам?

Использование параметров запроса! Это самая простая часть, просто измените то, что получает фид, передавая дополнительные параметры (см. Документацию WP_Query для полного списка параметров запроса)

 examples.com/feed/rss?orderby=meta_value&order=DESC&meta_key=your-postmetakeygoes-here 

Вы можете взять эти параметры запроса и поместить их в конец других URL-адресов, например, в архив категорий, предоставив вам наиболее просматриваемые сообщения в этой категории в качестве фида, например

 example.com/category/kittens/feed/?orderby=meta_value&order=DESC&meta_key=your-postmetakeygoes-here 

Обратите внимание на параметр meta_key , вам нужно meta_key имя метаданных, в которых вы храните meta_key просмотров здесь