Je me demande comment / si je peux accéder à plus que les messages X les plus récents définis dans les paramètres de wordpress. J'ai vu des plugins qui migrent tout le contenu du blog via RSS, n'ont pas fouillé pour voir leurs méthodes.
Fondamentalement, je gère quelques centaines de blogs WordPress et je crée un générateur de newsletter pour mes clients. Ils veulent pouvoir sélectionner quelques articles et faire apparaître les extraits dans le corps du bulletin. Les sites sont répartis sur plusieurs serveurs et le générateur de newsletter est construit sur notre CRM, de sorte que les requêtes de base de données directes seraient difficiles. RSS serait le plus propre, mais je n'arrive pas à comprendre comment accéder à plus de 10 à la fois (lorsque 10 est défini dans l'administrateur).
Des idées?
Réponses:
Le Codex a un exemple d'extrait sur la façon d'utiliser le
post_limits
filtre pour remplacer le montant défini dans admin pour le flux.http://codex.wordpress.org/Function_Reference/query_posts#Usage_Tips
la source
Un moyen d'obtenir vos messages est d'appeler les différentes pages du flux rss dans votre générateur de newsletter. C'est une approche sûre qui ne nécessite pas de mettre à jour vos différentes installations Wordpress:
yourwebsite.com/feed -> obtenir les 10 derniers messages
yourwebsite.com/feed/ ? paged = 2 -> obtenir les 10 prochains messages
Etc.
la source
Malheureusement, ce que vous essayez de faire est généralement mal vu dans la plupart des collectivités. Ce que je vous entends demander, c'est:
Il s'agit d'une pratique couramment utilisée pour extraire le contenu des blogs et le republier sans l'autorisation de l'auteur d'origine. C'est pourquoi je dis que c'est généralement mal vu. La plupart des auteurs de blogs ont consacré beaucoup de temps et d'énergie à développer un excellent contenu, donc il est facile pour un tiers de tirer parti de son travail acharné pour ajouter du crédit SEO à son propre site.
Cela dit, je suppose pour le moment que vous avez des raisons légitimes de supprimer le contenu de plus de 700 sites. Dans ce cas, je recommanderais une méthode programmatique distincte - pas RSS. Si vous disposez d'informations de connexion légitimes pour tous ces sites (c'est-à-dire qu'il s'agit de vos sites et non de quelqu'un d'autre), vous pouvez utiliser les fonctionnalités XML-RPC intégrées de WordPress pour récupérer le contenu.
Utilisez la bibliothèque XML-RPC intégrée pour transmettre une demande de
metaWeblog.getRecentPosts
spécification de l'ID du blog (généralement 0 pour les sites uniques, mais peut être différent sur plusieurs sites), votre nom d'utilisateur WordPress, votre mot de passe WordPress et le nombre de publications à récupérer (définissez-le sur -1 pour les recevoir tous).L'autre site répondra avec un fichier XML (assez volumineux) contenant le contenu que vous pouvez faire avec ce que vous voulez. Tout cela peut se produire dans les coulisses, et la
metaWeblog.getRecentPosts
demande vous donnera beaucoup plus d'informations qu'un flux RSS (y compris des champs personnalisés, qui pourraient être importants pour vous).la source
Si la mémoire est bonne, passer -1 comme nombre de messages a le même effet. Je ne sais pas vraiment comment il est jeté dans une URL, cependant.
En passant, si vous aimez vraiment avoir plus de 700 sites, envisagez d'avoir un cron que svn met à jour ou git tire d'une branche stable, d'un dépôt privé sur une base quotidienne ... Combiné avec un appel http quotidien à wp- admin / upgrade.php. Cela vous évitera beaucoup de tracas lors de la mise à niveau ou de la modification de vos sites - en ce sens que cela se fera automatiquement.
la source
vous voudrez peut-être utiliser un agrégateur RSS comme FeedWordpress
la source
Si vous allez dans Paramètres> Lecture> et changez la valeur dans "Les flux de syndication montrent le plus récent" en un nombre qui vous convient, cela s'affichera jusqu'au nombre de flux que vous entrez.
la source
Bien que ce ne soit pas «tous les articles», je dirais qu'un
limit
paramètre est beaucoup plus utile.Je recommanderais de filtrer directement l'option "posts_per_rss" en tant que telle:
Le flux peut alors être consulté comme suit: http://example.org/category/acme/feed/?limit=999
la source