decitic* Reporting, Data et Webmastering pour les PME

Créer des tinyurl de ses articles WordPress sans plugin

Comme je viens de commencer à me faire embarquer dans Twitter, mon intérêt pour les TinyUrl s’est développé de manière exponentielle.

TinyUrl ? Hein koué ? http://tinyurl.com

C’est un service qui permet de raccourcir ses URL: très utile sur les forums par exemple quand on a une URL à afficher mais qu’elle est ultra longue. Mais surtout: très utile sur Twitter, où il existe une limite au nombre de caractères !

Du coup, pour faciliter le « tweetage » de ses propres articles WordPress, rien de tel que trois bouts de code qui vont permettre de générer automatiquement une TinyUrl pour chacun de nos articles ! Du coup, JeanLouis qui voudra faire un tweet pointant vers ledit article, il aura juste à copier coller la TinyUrl et basta !

Ca se passe en deux étapes.

Etape 1: dans le fichier functions.php de votre thème WP

Il faut rajouter le bout de code suivant, qui fait en fait appel – de ce que j’ai compris – à ce qu’on appelle une « API », fournie par le site tinyurl.com: en gros, avec ce bout de code, votre blog WordPress va être capable de dire « hey Monsieur API de TinyUrl.com, viens là deux secondes, jvais te faire bosser un peu et tu vas me créer une tinyurl de tel et tel article ! ». Et c’est automatique, et c’est beau.

function getTinyUrl($url) {
    $tinyurl = @file_get_contents("http://tinyurl.com/api-create.php?url=".$url);
    if (!$tinyurl) {
        return $url;
    }
    return $tinyurl;
}

Source: par là !

Etape 2: dans le fichier single.php de votre thème WP

Maintenant, c’est bien beau d’avoir la fonction getTinyUrl, mais faut bien un code pour s’en servir ! Ca se passe dans single.php, mais ça peut se passer aussi dans votre fichier index.php, mais ouais, enfin, ça se passe dans tous les cas dans le fichier par lequel vous affichez vos articles !

Donc, à placer à l’intérieur de la boucle:

<?php
$turl = getTinyUrl(get_permalink($post->ID));
echo $turl
?>

Et ça vous affichera la TinyUrl, comme ça, brute, sans lien hypertexte ni rien. Du coup si vous voulez par exemple afficher un machin du genre: « la tinyUrl de cet article est: http://tiny.eenknven« , ça se passe au niveau de la troisième ligne du code précédent, avec le truc « echo »:

echo 'la tinyUrl de cet article est : <a href="'.$turl.'">'.$turl.'</a>'

Et voilà !
Faites bien gaffe à la syntaxe derrière le echo (d’ailleurs pour mieux comprendre le echo, je vous invite à aller là).

Etape Bonus: créer un bouton « partager sur twitter » qui produit un tweet avec l’article directement sous forme de TinyUrl

C’est ce que j’ai fait dans mon cas: quand on cliquait sur le bouton « partager sur Twitter », ça créait un tweet avec l’URL à rallonge de mon article ! Alors pour que celle-ci soit une tinyUrl, j’ai fait ça:

<a target="_blank" href="http://twitter.com/home?status=<?php the_title(); ?>%20<?php
$turl = getTinyUrl(get_permalink($post->ID));
echo $turl
?>"></a>

Je décompose:
– l’adresse « http://twitter.com/home?status= » envoie le lecteur vers sa page twitter, et pré-remplit son tweet avec ce qu’il y a de marqué après « status= »
– rajouter «  » permet donc de pré-remplir avec le titre de l’article
– et rajouter le code qui produit la tinyUrl permet de pré-remplir avec en + la tinyUrl !

Voili voilà ! Et du coup si vous voulez créer un bouton, ba vous avez le lien, il vous reste plus qu’à créer une image ! Vous pouvez faire un truc comme ça par exemple !

2 commentaires
  1. LZ dit :

    Et comment on fait sur Blogger ?
    Et joyeuses Pâques sinon (régression absolue autorisée ce jour…) !

Laisser un commentaire