Intereting Posts
Как добавить только (суб) емкость роли пользователя? Как добавить пользовательские поля в RSS-канал Вход в WordPress для нескольких сайтов Как автоматически принять запрос друга в приложении buddypress на основе пользовательского мета изменить тему, когда на мобильном телефоне, а также на портретном представлении Ipad Pods: авторы пользовательского поля Это ошибка в WordPress? Автоматическая стрельба get_comment_link при посещении пользователем своей приборной панели Пользовательские настройки таксономических фильтров типа Meta_Query отказывается возвращать результаты Преобразование основной модификации в плагин Content-single.php внутри моего плагина Пользовательский тип сообщения «Событие»: хронологический список повторяющихся событий из meta_values ​​в массиве Как объединить категории с phpMyAdmin Пользовательский шаблон страницы для нескольких страниц Свяжите функцию со своим аргументом, чтобы показать что-то динамически после каждого содержимого

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

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

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

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

  • 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 просмотров здесь