Ich arbeite an einem Thema, das registrierten Benutzern ermöglicht, auf einem Wordpress Blog zu veröffentlichen, ich habe ein Formular erstellt (Titel, Kategorie, Eintrag).
Die Frage ist, wie kann ich ein neues Kontrollkästchen "Benachrichtigen Sie mich, wenn neue Antwort gepostet wird" hinzufügen? Ich brauche eine Funktion, kein Plugin.
Hier ist die Funktion, die die Frage Entsendung Griffe:
Funktion post_new_question (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: Verwendung von wp_email Funktion wäre toll.
Danke, aber wie überprüft man, ob der Benutzer überprüft hat, ob er benachrichtigt werden möchte oder nicht? Und wo sieht es nach einer neuen Antwort auf diesen speziellen Beitrag aus? –
Für Benachrichtigungen müssen Sie entweder post-meta oder eine benutzerdefinierte Tabelle in der Datenbank verwenden, um diese Einstellung zu speichern. Sie könnten das Kommentarsystem verwenden und Kommentare als Antworten verwenden und dann in das Aktionssystem einbinden, um eine Funktion auszuführen, wenn ein neuer Kommentar gepostet wird, der prüft, ob der Benutzer eine E-Mail erhalten möchte und ob er diese E-Mail gesendet hat. – dirk
Nun eigentlich Kommentare wirken wie Antworten. Ich werde eine neue Tabelle erstellen, wp_notify und ich werde user_id und post_id speichern (wenn sie benachrichtigt werden wollten) oder? Aber ich brauche ein Beispiel, wie überprüft werden kann, ob eine neue Antwort auf diesen Eintrag gepostet wird. Vielen Dank. –