Отправить письмо после того, как пользователь отправит свое сообщение в WordPress

На моем сайте пользователи могут отправлять сообщения через обычную форму.
Мои сохраненные переменные PHP:

$usersarray = store the mail of the user
$postId = store the ID of the submitted post

Отправленный пост вводится автоматически в «Проект».
Я хотел бы автоматически отправлять почту, когда его сообщение становится «опубликованный«, как мне это сделать?

Конечно, это должно работать с разными пользователями и разными отправленными сообщениями, не только последними. (каждому пользователю отправлено сообщение)

Спасибо за совет.

0

Решение

использовать publish_post ловушка, которая является действием, запускаемым всякий раз, когда сообщение обновляется, и его новый статус «опубликован».

Чтобы отправить письмо через wp_mail () автору сообщения, когда его статья
опубликовано.

function post_published_notification( $ID, $post ) {
$author = $post->post_author; /* Post author ID. */
$name = get_the_author_meta( 'display_name', $author );
$email = get_the_author_meta( 'user_email', $author );
$title = $post->post_title;
$permalink = get_permalink( $ID );
$edit = get_edit_post_link( $ID, '' );
$to[] = sprintf( '%s <%s>', $name, $email );
$subject = sprintf( 'Published: %s', $title );
$message = sprintf ('Congratulations, %s! Your article “%s” has been published.' . "\n\n", $name, $title );
$message .= sprintf( 'View: %s', $permalink );
$headers[] = '';
wp_mail( $to, $subject, $message, $headers );
}
add_action( 'publish_post', 'post_published_notification', 10, 2 );

Редактировать:

Как @Stender предложили в комментариях ниже.

Вы также можете использовать

draft_to_publish крючок, который отлично подойдет для того, что вам нужно.

4

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector