@Forman

Как написать условие в WordPress «Если появился новый одобренный комментарий»?

Здравствуйте!

Заказал у разработчика создание WordPress-плагина уведомлений о новых комментариях на почту, т.к. средствами WordPress можно сделать уведомления только на почту администратора. К сожалению, разработчик не знает как это исправить.

Прошу у Вас помощи, т.к. проблема заключается лишь в условии:
if ( $old_status != $new_status and $new_status == 'approved' ) {

Данное условие отправляет уведомление лишь в том случае, когда комментарий был отправлен на модерацию и вручную там одобрен, а нужно, чтобы еще отправлялись уведомление и о тех комментариях, которые одобрены автоматически (т.е. вообще не были отправлены на модерацию, это происходит если email пользователя уже имеет хотя бы один одобренный комментарий). При этом, нельзя допустить, чтобы отправлялись неодобренные комментарии, или комментарии, попадающие в папку СПАМ.

Я пробовал уже много разных условий, но к сожалению, моих знаний недостаточно :) Поэтому прошу помощи у вас.
  • Вопрос задан
  • 634 просмотра
Решения вопроса 1
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
Ваша функция висит на хуке transition_comment_status, который вызывается только при смене статуса уже существующего комментария. Новый комментарий, который проходит автомодерацию, через transition status не проводится, он сразу добавляется с нужным статусом. Чтобы зацепиться в этом случае, вам понадобится хук comment_post (вот он) или wp_insert_comment (вот он). Проверяете на этом хуке статус, если approve или 1, тогда делаете отправку письма.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы