web-dev-qa-db-fra.com

Publier le plugin de notification RSS

Chaque fois que je mets à jour un ancien blog avec de nouvelles informations, il est visible par tous les lecteurs qui visitent le site lui-même. Les lecteurs du flux RSS ne reçoivent pas la mise à jour et manquent les nouvelles informations.

Je cherche un moyen de renvoyer l'article au RSS-feed comme s'il s'agissait d'un nouveau message (avec un [Update] placé après le titre du message, de préférence). Cependant, cela ne devrait pas être une nouvelle publication RSS chaque fois que je viens de faire un changement mineur (comme corriger une faute d'orthographe). L'idéal serait de me demander s'il s'agissait d'un changement mineur chaque fois que je modifie un message. Comment puis-je atteindre cet objectif?

1
neo

D'abord, ce n'est clairement pas un bug. Les flux générés par WordPress sont classés par date de publication, ce qui est à la fois sensé et logique.

Les seconds clients RSS identifient les éléments de manière unique. Dans le cas spécifique de WP, l'identifiant unique des flux est le champ guid avec un permalien non-joli (?p=xxx). Même si post est modifié et ramené dans le flux, son identifiant reste le même et il est traité comme lu par le client RSS.

Dans la pratique, certains clients vont détecter que les modifications sont modifiées, d’autres non. Dans tous les cas, la situation sera ambiguë et peu fiable.

Du point de vue de la convivialité, les éléments lus précédemment qui réapparaissent dans le fil peuvent être gênants pour les lecteurs (pour moi personnellement, c’est énervant).

Pour résumer, ce que vous voulez n’est pas impossible, mais va (à mon avis) à la fois contre WordPress et les mécanismes RSS.

Compte tenu de vos conditions (et je suppose beaucoup de modifications de ce type), je suggérerais de publier des messages de synthèse périodiques avec des listes d’entrées mises à jour. Peut être généré manuellement ou par code.

2
Rarst

Qu'en est-il de la création d'une case à cocher méta_field personnalisée appelée update. Si la case est cochée, la phrase [updated] peut être ajoutée au titre.

Par exemple:

<?php if ( get_post_meta( $post->ID, _updated_post, true ) ) {  echo '[Updated]'; the_title();  }else{ the_title(); } ?>

Cela prendrait soin des visiteurs du site

Utilisez the_title_rss pour la même chose dans votre flux RSS

Vous voudrez probablement utiliser wp_cron pour réinitialiser automatiquement la valeur ofter x quantité de temps, sauf si vous souhaitez manuellement revenir en arrière et décocher la case.

1
Ashley G

Je pense que vous pouvez regarder cela de la mauvaise façon. Les nouvelles informations de votre ancien message sont visibles par les téléspectateurs à la fois du site Web et du flux RSS. C'est-à-dire que toute personne accédant au flux RSS après la publication de la publication verra la dernière version.

Il est vrai que quiconque ayant consulté le flux RSS avant la publication du message ne saurait pas savoir quand de nouvelles informations sont disponibles, il en va de même pour les visiteurs de votre site Web. Le seul moyen d'avertir les visiteurs de votre site Web et les consommateurs de RSS de la mise à jour d'anciennes publications consiste à créer une nouvelle publication disant: "Hé! Ma publication sur telle ou telle a été mise à jour! Allez jeter un coup d'œil."

1
Doug

Ce que vous essayez essentiellement de faire est de persuader le lecteur RSS de penser qu'il s'agit d'un message différent, et pas seulement d'une version mise à jour. Contrairement au site WP, qui appelle la version la plus récente du contenu de la base de données lorsque quelqu'un la visualise, le RSS est une version plus "statique" et chaque fois que les différents lecteurs de flux extraient les informations dans l'application de lecture. , il devient statique quel que soit le nombre de fois où vous le mettez à jour à nouveau. N'oubliez pas non plus que les agrégateurs tiers (tels que Feedburner) vont extraire les informations, puis les servir à partir de leur propre cache.

Donc, vous avez quelques options:

  1. Modifiez la date de publication et modifiez légèrement le slug de permalien à chaque édition pour la faire apparaître comme un nouvel élément.
  2. ne publie pas avant que ce soit prêt

Bien que ce ne soit pas une réponse directe, je dois vous demander pourquoi vous voulez faire cela pour commencer. Si vous mettez constamment à jour le même message/contenu, vous empêchez l'utilisation de la raison pour laquelle les gens s'abonnent à RSS pour commencer. Bien que je sois sûr qu'il y ait des raisons pour cela, je me désabonner personnellement d'un site qui, en gros, a sonné mon lecteur avec plusieurs versions du même contenu.

0
Norcross

Le flux RSS traverse-t-il FeedBurner ou provient-il directement de WP?

J'ai entendu dire que FeedBurner pourrait nuire à vos meilleurs plans pour que cela fonctionne.

Pourquoi ne pas simplement ré-poster (comme dans c-p) l'ancien dans un nouveau, et y mettre une balise [UPDATED] si vos abonnés ont vraiment besoin de le voir?

0
mitchellhislop

Quelques solutions pour vous qui pourraient ou pourraient fonctionner

Modifiez la date de publication lorsque vous mettez à jour un message - il sera rajouté dans le flux RSS. Si besoin est, vous pouvez enregistrer la première date de publication dans un champ personnalisé.

Cependant, le contenu est fortement syndiqué - ce qui est vraiment nécessaire, c'est une image créée sur la base d'une date de dernière modification liée à un lien permanent. Si vous le faites de cette façon et que ce n’est pas quelque chose que j’ai testé, vous pouvez créer un flux basé sur la date de dernière modification plutôt que sur la date de publication. Il pourrait avoir besoin de cingler. Il est certain que Google Blogsearch conserve une copie de l'intégralité du contenu d'un flux, même si on lui dit de ne pas l'afficher dans l'index à l'aide des contrôles feedburner. Il est possible que l'index soit basé sur des permaliens et non sur des éléments de fil Atom.

Vous voulez être plus astucieux et avoir plus de backlinks ... il pourrait être justifié d'ajouter une date à la fin d'un lien permanent lorsque vous modifiez la date de publication à l'aide d'un paramètre.

Une autre alternative est de stocker la dernière modification, et chaque fois qu'une publication est publiée, vous ajoutez également les dernières modifications au dernier message dans le RSS, et vous avez également quelque chose de similaire dans la barre latérale. En fait, j'aime bien cette option car elle ajoute plus de liens.

0
AndyBeard

Je vois la solution suivante: la liste des publications dans les flux doit être triée en fonction de la date de dernière mise à jour de la publication. Je ne suis pas sûr que ce soit déjà le cas pour les flux. Si ce n'est pas le cas, un plug-in doit être connecté au flux après la requête et changer l'ordre de tri.

Le WP Minor Edit (Editeur Wordpress) offre une partie des fonctionnalités que vous recherchez déjà. Il utilise également la date de dernière mise à jour du message en ne le modifiant pas.

Si à présent un autre plug-in est connecté au flux, créez le type de flux comme je l'ai indiqué, puis, sur chaque titre du flux, vérifiez si les données de publication correspondent à la date de la dernière mise à jour de la publication, il ajoute simplement [MISE À JOUR] au titre.

Terminé.

0
hakre