Мне интересно, как / если я могу получить доступ к более чем последним сообщениям X, определенным в настройках WordPress. Я видел плагины, которые переносят весь контент блога через RSS, не ковырялся в поисках их методов.
По сути, я управляю парой сотен блогов WordPress и создаю генератор рассылок для своих клиентов. Они хотят иметь возможность выбрать несколько постов, и отрывки появляются в теле бюллетеня. Сайты распределены по нескольким серверам, а генератор новостной рассылки строится поверх нашей CRM, поэтому прямые запросы к базе данных будут затруднены. RSS был бы самым чистым, но я не могу понять, как получить доступ более чем к 10 одновременно (когда 10 установлено в админке).
Любые идеи?
Ответы:
В кодексе приведен пример фрагмента, посвященного тому, как использовать
post_limits
фильтр для переопределения количества, установленного в admin для фидаhttp://codex.wordpress.org/Function_Reference/query_posts#Usage_Tips
источник
Один из способов получить ваши сообщения - вызвать разные страницы RSS-канала в вашем генераторе новостных рассылок. Это безопасный подход, который не требует обновления ваших различных установок Wordpress:
yourwebsite.com/feed -> получить последние 10 сообщений
yourwebsite.com/feed/ ? paged = 2 -> получить следующие 10 сообщений
И так далее.
источник
К сожалению, то, что вы пытаетесь сделать, обычно не одобряется в большинстве сообществ. Я слышал, что вы просите:
Это практика, обычно используемая для удаления содержимого из блогов и его повторной публикации без разрешения первоначального автора. Вот почему я говорю, что это вообще осуждается. Большинство авторов блогов тратят много времени и энергии на разработку отличного контента, поэтому третьим сторонам легко использовать свою тяжелую работу, чтобы добавить SEO-кредит на свой собственный сайт ... ну ... глупо.
Тем не менее, на данный момент я предполагаю, что у вас есть законные причины для удаления контента с более чем 700 сайтов. В этом случае я бы порекомендовал отдельный, программный метод - не RSS. Если у вас есть законная информация для входа на все эти сайты (т. Е. Они ваши, а не чужие), вы можете использовать встроенные в WordPress функции XML-RPC для извлечения контента.
Используйте встроенную библиотеку XML-RPC, чтобы передать запрос на
metaWeblog.getRecentPosts
указание идентификатора блога (обычно 0 для отдельных сайтов, но может отличаться для нескольких сайтов), вашего имени пользователя WordPress, пароля WordPress и количества постов. чтобы получить (установите это -1, чтобы получить их все).Другой сайт ответит (довольно большим) XML-файлом, содержащим контент, который вы можете делать с тем, что вы хотите. Все это может происходить за кулисами, и
metaWeblog.getRecentPosts
запрос даст вам гораздо больше информации, чем канал RSS (включая настраиваемые поля, которые могут быть важны для вас).источник
Если память служит, передача -1 как количество сообщений имеет тот же эффект. Хотя, не совсем уверен, как он попадает в URL.
Кроме того, если вы действительно хотите иметь более 700 сайтов, подумайте о том, чтобы иметь cron, который svn обновляет или git извлекает из стабильной ветки, из частного репозитория ежедневно ... В сочетании с ежедневным http-вызовом wp- админ / upgrade.php. Это сэкономит вам массу хлопот при обновлении или настройке ваших сайтов - в том, что это будет сделано автоматически.
источник
вы можете использовать RSS-агрегатор, например FeedWordpress
источник
Если вы перейдете в «Настройки»> «Чтение»> и измените значение в «Каналах синдикации для самых последних» на подходящее вам число, оно будет соответствовать количеству введенных вами каналов.
источник
Хотя это и не «все сообщения», я бы сказал, что
limit
параметр намного более полезен.Я бы порекомендовал напрямую отфильтровать параметр posts_per_rss:
Затем к каналу можно получить доступ следующим образом: http://example.org/category/acme/feed/?limit=999
источник