13
Apr

Cross-Posting à l’aide des flux RSS dans WordPress

Récemment J’ai refait mon site personnel et j’ai souhaité aggréger, sur le blog attaché à ce site le maximum de mon activité sur le net. S’est alors posé la question de savoir comment reporter le maximum de contenus sur ce site de façon automatique ?

Je vais m’attacher plus particulièrement au cross-posting entre plateformes de blog (Blog vers WordPress), plus qu’à Facebook ou Twitter qui possèdent directement des plugins d’intégration. Voici quels étaient mes critères de départ :

  • Lorsque je crée un post sur un autre blog, un nouveau post est créé sur mon site perso
  • Ce post automatiquement créé, héberge la “Featured Image” et le résumé et pointe vers le post d’origine.

Voici la petite manip’ que j’ai effectuée pour faire ceci.

1 Importer du contenu grâce aux flux RSS

Pour cela j’ai utilisé le plugin WP RSS Multi Importer. Ce plugin est à installer sur le site WordPress aggregateur. Une fois installé il est très simple à configurer.

  • Pour commencer nous allons d’abord créer une catégorie de Post pour identifier tous les posts créés automatiquement.
    Dans Posts > Add new category > Créez une catégorie “External Post” par exemple.
  • Ensuite, allez dans Settings > RSS Multi-Importer
  • Allez dans l’onglet Feeds et ajoutez l’adresse de votre Flux Rss. Pour les blogz wordpress il suffit de rajouter /feed/ à la fin de l’url de votre site pour obtenir cette adresse.
  • Dans l’onglet Feed To Post Settings, choisissez “Featured Image Only” pour l’utilisation de l’image et enfin la catégorie External Post que nous avons créée comme catégorie par défaut pour les posts importés

 

2 Rediriger vers le blog externe lors d’un clic sur le titre

C’est une question que j’ai souvent vu posée sur le net. En effet, structurellement un plugin ne peut pas modifier le lien affecté au titre, cette action étant bien souvent codée en dur dans le thème lui même. Cependant c’est une modification très à portée de tous, muni du Bloc-Note (Smultron sur MacOS, NotePad++ sous Linux par exemple).

  • Connectez-vous à votre serveur FTP et téléchargez les fichiers PHP qui sont à la base du répertoire wp-content > themes > Votre Thème
  • Identifiez le fichier décrivant votre Home Page (home.php, loop.php, xxxx-fullsize.php).
    Si vous ne savez pas comment trouver, ouvrez tous les fichiers (hormis singe.php, single-xxx.php, page.php, content-xxx.php) et cherchez le texte the_title().
  • Une fois que vous l’avez trouver, il faut supprimer la structure suivante :
    <a href=""> <?php the_title(); ?> </a>
  • et la remplacer par
    <?php
    if (in_category('external',get_the_ID())){
    $external_link = get_post_meta( get_the_ID(), 'rssmi_source_link', 'true' );
    $target='_blank' ;
    }
    else {$external_link = get_the_permalink(); $target='none' ; }?>
    <h2><a href="<?php echo $external_link ;?>" target="<?php echo $target ;?>"><?php $content->title() ?></a></h2>
     

Et voilà, c’est fait :-).
En espérant que ça vous aide si vous vous posez les même questions.