Wordpress : lien pour envoyer la page par e-mail

Bon, ça fait des mois que j'avais promis de publier la fonction version Wordpress de l'astuce Ajouter un lien pour envoyer la page par e-mail ! L'ayant récemment utiliser sur un de mes projets, ça m'a aussi rappeler que je devais la partager avec vous ! (honte à moi, ne me fouettez pas !)

Donc ici la principale différence avec la version javascript, c'est que le lien sera généré pour être écrit en dur dans la page (plus accessible donc), et il est en plus possible de personnaliser la fonction pour afficher par exemple un extrait de l'article ...

Le script

Les portions de code suivantes sont à ajouter dans le fichier functions.php de votre thème.

########################################################
#      Email en dur (http://www.webinventif.fr/wordpress-lien-envoyer-page-mail/)
########################################################
//Pour activer l'ouverture du protocole mail avec gmail: http://www.accessoweb.com/Mettre-Gmail-comme-client-email-par-defaut-dans-Firefox_a5327.html
function direct_email($text="Envoyer par mail"){
        global $post;
        $title = htmlspecialchars($post->post_title);
        $subject = 'Sur '.htmlspecialchars(get_bloginfo('name')).' : '.$title;
        $body = 'Je recommande cette page : '.$title.'. Consultable à cette adresse : '.get_permalink($post->ID);
        //$body .= '. Extrait: '.$post->post_excerpt; // http://www.webinventif.fr/wordpress-hors-boucle/
        $link = '<a rel="nofollow" href="mailto:?subject='.rawurlencode($subject).'&amp;body='.rawurlencode($body).'" title="'.$text.' : '.$title.'">'.$text.'</a>';
        return $link;
}

Si vous voulez ajouter un extrait, de-commentez la ligne "//$body .= '. Extrait: '...." en supprimant les "//". Vous pouvez également ajouter tout un tas d'informations comme les tags ou la catégories, voir cet article pour la liste des objets disponibles.

Utilisation

Il vous suffit de placer ce bout de code dans votre thème à l'endroit ou vous souhaitez voir apparaitre le lien, en général dans single.php

Vous pouvez partager <?php echo direct_email('par mail') ?> cet article

Le texte du mail est donc personnalisable.

Au final

Cette méthode est meilleur que l'autre si vous utilisez wordpress. Souvenez vous qu'il faut que votre navigateur soit configuré pour reconnaitre le protocole mailto ;)

-----

Articles relatifs

  1. 27/07/2009 à 11:04 | #1

    Bonjour,

    Merci pour cette astuce : c’est adopté !

  2. duchemin
    07/08/2009 à 12:05 | #2

    j’ai pas tout compris!!!!!!maisje vais réessayer car vraiment il y ades photos et des infos que j’aimerai transmetttre

  3. 06/09/2009 à 20:21 | #3

    Bonjour,
    utilisant le thème streamline, je n’ai pas de single.php. Donc je suis un peu perdue, car je ne sais pas où mettre le
    <blockquote Vous pouvez partager cet article
    Ca doit se mettre où ?
    merci
    Cordialement

  1. 27/07/2009 à 08:27 | #1
  2. 09/11/2009 à 10:56 | #2
  3. 16/11/2009 à 08:15 | #3
  4. 19/11/2009 à 05:51 | #4
  5. 08/12/2009 à 15:21 | #5