Мне нужно отправить мой сайт где-нибудь, и они просят ссылку на rss моих наиболее просматриваемых сообщений в течение последнего дня. Но WordPress по умолчанию не поддерживает такой вариант. Есть ли способ сделать RSS-канал для самых посещаемых сообщений моего блога в последний день?
Ваша проблема состоит из двух частей:
Использование библиотеки google API, конечно же! Однако API Google не подходит для этого сайта, это стеки WordPress, а не Google.
Другая часть этой части головоломки состоит в том, что вам нужно написать задание wp cron, найти сообщения с устаревшими данными и получить новое количество просмотров. Ничто из этого не будет в реальном времени, и вы столкнетесь с высокой производительностью, если попытаетесь сделать это в реальном времени.
Поэтому сохраните счетчик просмотров в качестве метаданных в сообщении и сохраните вторую мета-запись с указанием времени / даты, когда последнее сообщение было проверено. Используйте это, чтобы WP_Query
извлекать устаревшие сообщения, ища даты дольше, чем день или 12 часов назад. Делайте их в партиях, скажем, 10-15, чтобы ваша работа cron не была убита. Также сделайте 10-15 сообщений, на которых не установлены мета-ключи, чтобы ваш существующий контент был проверен
Использование параметров запроса! Это самая простая часть, просто измените то, что получает фид, передавая дополнительные параметры (см. Документацию 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
просмотров здесь