Voici une fonction permettant d’envoyer un e-mail à chaque nouvel article publié:
function set_contenttype($content_type){ return 'text/html'; } function email_members($post_ID) { $notifyTo = 'mail@example.org';//comma separated $optionName = "email_members_notifications"; $var = get_option($optionName , null ); $emailMembersNotifications= array(); if($var != null){ $emailMembersNotifications = explode(';',$var); } if(!in_array($post_ID,$emailMembersNotifications)){ add_filter('wp_mail_content_type','set_contenttype'); $post = get_post($post_ID); $message = '<html lang="fr"> <head> <meta content="text/html; charset=utf-8" http-equiv="Content-Type"> </head> <body> Bonjour,<br/> Un nouvel article a été publié sur le site <a href="'.get_bloginfo('url').'">'.get_bloginfo('url').'</a>.<br/> Pour le consulter, merci de cliquer sur le lien suivant:<br/> <a href="'.$post->guid.'">'.get_the_title($post_ID).'</a> </body> </html>'; if(wp_mail( $notifyTo, '[MON-BLOG] Nouvel article: '.html_entity_decode(get_the_title($post_ID), ENT_COMPAT, 'UTF-8'), $message)){ $emailMembersNotifications[] = $post_ID; } if(!empty($emailMembersNotifications)){ if(!get_option($optionName)){ add_option( $optionName, implode(';',$emailMembersNotifications) ); } else { update_option( $optionName, implode(';',$emailMembersNotifications) ); } } } return $post_ID; } add_action('publish_post', 'email_members');
Cette fonction est à placer dans le fichier functions.php de votre thème (wp-content/themes/[VOTRE-THEME]/functions.php)
Bonjour, merci pour cette fonction qui pourait m’être très utile. Je voulais tout de même savoir si il était possible d’envoyer par email le titre et le contenu de chaque nouvel article ? De plus est-il possible de définir une catégorie spécifique d’article à envoyer ?
Paul
Bonjour, voici une modification de la fonction email_on_post qui permet de choisir les articles qui appartiennent à certaines catégories:
Pour récupérer le titre et le contenu de l'article utilisez respectivement la fonction get_the_title($post_ID) et $post->post_content
Merci pour votre aide ! 😉
Bonjour,
Je pose peut être une question bête mais je ne trouve pas comment placer la fonction pour recevoir un mail à chaque article publié. Je n’arrive pas à trouver ou intégrer le fichier Php
Bonjour, le bout de code de cet article est à placer dans le fichier functions.php de votre thème WordPress. Par exemple à la toute fin de ce fichier.