web-dev-qa-db-fra.com

Afficher 'Read more' dans le flux rss

Comment puis-je afficher les liens "Lire la suite" dans le flux RSS au lieu d'afficher un extrait? Les paramètres en lecture permettent uniquement de choisir entre le contenu intégral et l’extrait.

1
Giorgi

Vous pouvez, mais vous ne devriez pas.

Les flux RSS sont construits en XML. Pas en HTML. Les liens en XML n'ont pas de sens car ce sont des éléments HTML. Cependant, étant donné que XML peut être lu par la plupart des analyseurs HTML (c'est-à-dire les navigateurs Web), vous pouvez facilement confondre un document XML avec un document HTML (la prévalence de XHTML permet de brouiller davantage cette ligne).

En réalité, personne ne lit réellement un flux XML brut. Ils ouvrent le flux dans un navigateur Web et le permettent de l'analyser de manière intelligible. Firefox et Safari sont très bons à cela. Ou ils l'ouvrent dans un agrégateur de flux éternel tel que Google Reader.

Toutes ces autres applications analyseront le contenu permalien (l'URL de votre publication) et l'utiliseront comme référence contextuelle pour la publication. Dans certains cas, ils ajouteront le lien "En savoir plus" à votre place. Dans d'autres, ils convertissent le titre en un lien cliquable dans l'affichage.

Dans les deux cas, vous comptez sur le lecteur pour générer le lien, et non sur le contenu de votre message.

Par exemple, voici le fil de mon blog - http://mindsharestrategy.com/feed - rendu par Safari. Le navigateur a à la fois transformé le titre en un lien et a automatiquement ajouté un lien "Lire la suite ..." au bas de chaque message.

Blog feed in Safari web browser

Ce qu'il faut retenir, c'est que ce flux est un document XML brut analysé automatiquement par le navigateur. Je n'ai pas précisé le style, les couleurs ni même le lien En savoir plus ... Safari l'a fait tout seul. En fait, Firefox n'affiche qu'un extrait pour chaque message plutôt que son contenu complet (suivis chacun d'un lien "Lire plus" généré automatiquement). Google Reader fait quelque chose de très similaire, comme le feront la plupart des autres agrégateurs de flux.

3
EAMann

Vous pouvez choisir d'afficher le résumé (extrait) dans le flux et de l'ajouter au functions.php de votre thème:

function moreFeedlink( $content ) {
    $content = $content . '<div><a href="' . get_permalink() . '">Read More</a></div>';
    return $content;
}
add_filter( 'the_excerpt_rss', 'moreFeedlink' );
2
matt

Accédez aux paramètres de lecture et sélectionnez "texte intégral" pour les éléments à afficher dans un flux: alt text

0
John P Bloch

Vous pouvez implémenter la fonction, mais cela pourrait changer la manière dont vos publications sont affichées sur le site.

Cela vaut peut-être la peine d’analyser cela - http://codex.wordpress.org/Customizing_the_Read_More

0
Vince Pettit