Intereting Posts
Подсчитайте сообщения, в которых указан конкретный термин таксономии Ограничить редактирование, но разрешить предварительный просмотр пользовательского состояния сообщения 5 блогов на одном сайте WordPress Как отредактировать файл post.php WordPress? Метабокс в цикле Создание клиентской страницы Добавление плагина captcha для комментариев на сайте Мета-ключевые слова и описания плагина для ручного редактирования мета для каждой страницы / сообщения Возможность установить ограничение персонажа в BuddyPress? Описание количества страниц с одним продуктом WooCommerce Как сохранить визуальные патчи с сложной структурой URL? Пользовательский шаблон сообщения? Создание и редактирование сообщений с передней стороны Как обрабатывать запрос формы Получите автора meta добавляет <p> сейчас Ссылка Всплывающее окно в пользовательском плагине

проверить, опубликовал ли автор сообщения в пользовательском типе сообщений, а затем отправить почту

У меня есть сайт, на котором люди могут отправлять черновики в пользовательский тип сообщения из внешнего интерфейса.

Когда пользователь отправляет форму, создается новый пользователь WP.

Если пользователь зарегистрирован в адресованном пользователю, адрес электронной почты уже прикреплен к пользователю WP, новый проект статьи будет назначен этому автору.

Поэтому теперь я хочу настроить функцию, которая отправляет автору два разных письма, когда администратор изменяет статус сообщения из draft в published .

  1. Если пользователь опубликовал сообщения в настраиваемом типе сообщений уже
  2. Если у пользователя нет опубликованных сообщений в настраиваемом типе сообщений, но черновик

Текущая функция (не работает)

 /** Notification - Draft goes online */ function authorNotification($post_id) { global $wpdb; $post = get_post($post_id); if( ( $_POST['post_status'] == 'publish' ) && ( $_POST['original_post_status'] != 'publish' ) ) { $author_info = get_userdata($post->post_author); $author_id = $author_info->ID; $published_by_author = new WP_Query(array( 'post_type' => 'my-custom-post-type', 'post_status' => array('published','pending'), 'author' => $author_id, 'nopaging' => true ); if( $published_by_author->found_posts > 0 ) { // user has published posts // wp_mail something like "another post of yours is online" } else { // user does not have published posts // wp_mail something like "welcome, your first post is online" } } } add_action('publish_my-custom-post-type', 'authorNotification'); 

проблема

Когда я отправляю свою внешнюю форму, создается новый пользователь и содержимое формы сохраняется как черновик сообщения. До сих пор.

Но когда проект опубликован – и у автора еще нет опубликованных сообщений – отправляется первое электронное сообщение, в котором отправляется «другая ваша почта онлайн».

При отправке формы при входе в систему снова отправляется то же письмо.

Реализации второй мысли …

Разумеется, почтовый счет будет возвращать 1 даже если пользователь является новым, потому что wp_mails отправляются, когда их первое сообщение переходит от draft к published . Duh.

Я собираюсь изменить свой код и опубликовать его позже.

Solutions Collecting From Web of "проверить, опубликовал ли автор сообщения в пользовательском типе сообщений, а затем отправить почту"