Me pregunto cómo / si puedo acceder a más de las publicaciones X más recientes definidas en la configuración de WordPress. He visto complementos que migran todo el contenido del blog a través de RSS, no han hurgado para ver sus métodos.
Básicamente administro un par de cientos de blogs de WordPress y estoy creando un generador de boletines para mis clientes. Quieren poder seleccionar algunas publicaciones y que los extractos aparezcan en el cuerpo del boletín. Los sitios están distribuidos en varios servidores y el generador de boletines se está construyendo sobre nuestro CRM, por lo que las consultas directas a la base de datos serían difíciles. RSS sería el más limpio, pero parece que no puedo entender cómo acceder a más de 10 a la vez (cuando 10 está configurado en el administrador).
¿Algunas ideas?
Respuestas:
El Codex tiene un fragmento de ejemplo sobre cómo usar el
post_limits
filtro para anular la cantidad establecida en el administrador para el feed.http://codex.wordpress.org/Function_Reference/query_posts#Usage_Tips
fuente
Una forma de obtener sus publicaciones es llamar a las diferentes páginas del feed RSS en su generador de boletines. Es un enfoque seguro que no requiere actualizar sus diversas instalaciones de Wordpress:
yourwebsite.com/feed -> obtenga las últimas 10 publicaciones
yourwebsite.com/feed/ ? paged = 2 -> obtenga las siguientes 10 publicaciones
Y así.
fuente
Desafortunadamente, lo que intenta hacer generalmente está mal visto en la mayoría de las comunidades. Lo que te oigo preguntar es:
Esta es una práctica comúnmente utilizada para extraer contenido de blogs y volver a publicarlo sin el permiso del autor original. Por eso digo que generalmente está mal visto. La mayoría de los autores de blogs dedican mucho tiempo y energía a desarrollar contenido excelente, por lo que hacer que sea fácil para un tercero aprovechar su arduo trabajo para agregar crédito SEO a su propio sitio es ... bueno ... elegante.
Dicho esto, supondré por el momento que tiene razones legítimas para extraer contenido de más de 700 sitios. En ese caso, recomendaría un método programático separado, no RSS. Si tiene información de inicio de sesión legítima para todos estos sitios (es decir, son sus sitios y no los de otra persona), puede usar las funciones incorporadas de WordPress XML-RPC para obtener el contenido.
Use la biblioteca XML-RPC incorporada para pasar una solicitud para
metaWeblog.getRecentPosts
especificar la ID del blog (generalmente 0 para sitios individuales, pero podría ser diferente en sitios múltiples), su nombre de usuario de WordPress, su contraseña de WordPress y la cantidad de publicaciones para buscar (establezca esto en -1 para recibirlos a todos).El otro sitio responderá con un archivo XML (bastante grande) que contiene el contenido que puede hacer con lo que desea. Todo esto puede suceder detrás de escena, y la
metaWeblog.getRecentPosts
solicitud le dará mucha más información que una fuente RSS (incluidos los campos personalizados, que pueden ser importantes para usted).fuente
Si la memoria sirve, pasar -1 como número de publicaciones tiene el mismo efecto. Sin embargo, no estoy completamente seguro de cómo se arroja a una URL.
Por otro lado, si realmente desea tener más de 700 sitios, considere tener un cron que se actualice o git extraiga de una rama estable, de un repositorio privado a diario ... Combinado con una llamada http diaria a wp- admin / upgrade.php. Le ahorrará muchas molestias al actualizar o ajustar sus sitios, ya que se realizará automáticamente.
fuente
es posible que desee utilizar un agregador RSS como FeedWordpress
fuente
Si va a Configuración> Lectura> y cambia el valor en "Los feeds de sindicación muestran los más recientes" a un número que le convenga, se mostrará el número de feeds que ingresó.
fuente
Si bien no es "todas las publicaciones", diría que un
limit
parámetro es mucho más útil.Recomendaría filtrar directamente la opción "posts_per_rss" como tal:
Se podría acceder al feed de esta manera: http://example.org/category/acme/feed/?limit=999
fuente