Je travaille sur un thème qui permet aux utilisateurs enregistrés de poster sur un blog Wordpress, j'ai créé un formulaire (titre, catégorie, entrée).
La question est, comment puis-je ajouter une nouvelle case à cocher "M'avertir quand une nouvelle réponse est postée"? J'ai besoin d'une fonction, pas d'un plugin.
Voici la fonction qui gère l'affichage de la question:
post_new_question fonction($ question_title, $ question_content, $ question_category) {
$question_title_stripped = strip_tags($question_title);
$question_content_stripped = strip_tags($question_content);
$user = wp_get_current_user();
global $wpdb;
$gather_questions = "SELECT * FROM wp_posts WHERE post_author = '" . $user->ID . "'";
$user_questions = $wpdb->get_results($gather_questions);
if (isEmptyString($question_title_stripped)) return new WP_Error('no_title_entered', 'Enter a title for your quesion');
if (isEmptyString($question_content_stripped)) return new WP_Error('no_content', 'Enter a breif description for your quesion');
foreach ($user_questions as $user_question) {
if ($user_question->post_author == $user->ID) {
if ($user_question->post_title == $question_title_stripped) {
return new WP_Error('duplicate_user_question', 'You have already asked this exact question.');
} else {}
} else {}
}
$question_author = $user->ID;
$post = array(
'ID' => '',
'post_author' => $question_author,
'post_category' => array($question_category),
'post_content' => $question_content_stripped,
'post_title' => $question_title_stripped,
'post_status' => 'publish'
);
$question_id = wp_insert_post($post); }
PS: Utilisation de la fonction wp_email serait génial.
Merci, mais comment vérifier si l'utilisateur a vérifié s'il veut ou non être averti? Et où cherche-t-on une nouvelle réponse sur ce poste spécifique? –
Pour les notifications, vous devez utiliser post meta ou une table personnalisée dans la base de données pour stocker cette préférence. Vous pouvez utiliser le système de commentaires et faire réagir les commentaires, puis relier le système d'actions pour qu'une fonction soit exécutée lorsqu'un nouveau commentaire est posté pour vérifier si l'utilisateur souhaite recevoir un e-mail et s'il a effectivement envoyé cet e-mail. – dirk
Eh bien les commentaires agissent comme des réponses. Je vais faire une nouvelle table, wp_notify et je vais stocker user_id et post_id (s'ils voulaient être notifiés) non? Mais j'ai besoin d'un exemple de comment vérifier si une nouvelle réponse est postée sur cette entrée. Merci. –