Fonction PhP Wordpress
Posté : 05 juin 2019, 11:15
Bonjour,
Etudiant en 1ère année de développement Informatique, je dois dans le cadre de mon stage, effectuer un site wordpress avec pour une fonction qui permet lors de la publication d'un article avec une certaine catégorie, d'envoyer un mail automatiquement.
J'ai réussi grâce à une fonction trouver sur le net à effectuer l'envoi de mail pour une publication d'article, mais lorsque je souhaite ajouter une condition pour la sélection d'une catégorie spécifique, ce là ne fonctionne pas, je n'arrive pas non plus à vérifier le contenu de mes variables, je ne sais plus quoi faire ..
Voici la fonction en question, ainsi que mon code ajouter :
Mon code ajouté est le suivant :
Si je retire mon code, le mail fonctionne mais sans sélection de catégorie.
PS : Je suis actuellement en local.
Merci de votre aide.
Cordialement,
Swick
Etudiant en 1ère année de développement Informatique, je dois dans le cadre de mon stage, effectuer un site wordpress avec pour une fonction qui permet lors de la publication d'un article avec une certaine catégorie, d'envoyer un mail automatiquement.
J'ai réussi grâce à une fonction trouver sur le net à effectuer l'envoi de mail pour une publication d'article, mais lorsque je souhaite ajouter une condition pour la sélection d'une catégorie spécifique, ce là ne fonctionne pas, je n'arrive pas non plus à vérifier le contenu de mes variables, je ne sais plus quoi faire ..
Voici la fonction en question, ainsi que mon code ajouter :
function email_members($post_ID) {
$notifyTo = 'mon mail';//comma separated
$optionName = "email_members_notifications";
$var = get_option($optionName , null );
$emailMembersNotifications= array();
if($var != null){
$emailMembersNotifications = explode(';',$var);
}
$post = get_post ($post_ID);
$categorie = get_the_category($post);
$categorie_ID = $categorie[0];
$categorie->name;
if($categorie_ID == "3" || $categorie_ID == "6"){
if(!in_array($post_ID,$emailMembersNotifications)){
add_filter('wp_mail_content_type','set_contenttype');
print_r ($categorie_ID);
echo "'.$categorie_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');
Mon code ajouté est le suivant :
$post = get_post ($post_ID);
$categorie = get_the_category($post);
$categorie_ID = $categorie[0];
$categorie->name;
if($categorie_ID == "3" || $categorie_ID == "6"){
print_r ($categorie_ID);
echo "'.$categorie_ID'";
Mon article ce publie correctement, mais pas d'envoi de mail.Si je retire mon code, le mail fonctionne mais sans sélection de catégorie.
PS : Je suis actuellement en local.
Merci de votre aide.
Cordialement,
Swick