Плагин Wordpress contact-form-7 делает что-то перед почтой

У меня есть экземпляр wordpress с плагином contact-form-7. В некоторых уроках я видел, что могу сделать что-то перед отправкой почты с помощью этого кода:

add_action("wpcf7_before_send_mail", "wpcf7_do_something_else");

function wpcf7_do_something_else(&$wpcf7_data) {

    // Here is the variable where the data are stored!
    var_dump($wpcf7_data);

    // If you want to skip mailing the data, you can do it...
    $wpcf7_data->skip_mail = true;

}

Я получил код отсюда http://code.tutsplus.com/tutorials/mini-guide-to-contact-form-7--wp-25086

Но как-то не работает. Я не получаю никакой ошибки - контактная форма больше не отправляет почту, даже без $wpcf7_data->skip_mail = true, и ничего не печатает.

Мои вопросы:

Где я должен написать этот код? Прямо в плагине? (На данный момент я записал этот код в кастомный плагин, может ошибаюсь?) Можно ли вообще распечатать туда какие-то данные из формы? (Учебник плохой?)

Спасибо!


person Xatenev    schedule 29.04.2014    source источник


Ответы (1)


Что ж, это нормально, что контактная форма больше не отправляет электронную почту, как это определено в этой строке $wpcf7_data->skip_mail = true;.

Этот код используется, если вы хотите что-то другое, чем публикация по умолчанию (отправка по электронной почте), как описано в руководстве.

Однако этот код следует поместить в файл functions.php вашей темы (если файл существует, создайте его). Но все же электронное письмо не будет отправлено.

Если вы хотите пропускать электронные письма и выполнять другие действия, оставьте этот фрагмент кода

$wpcf7_data->skip_mail = true;

и добавьте свою логику после этой строки.

Опишите более точно что вы хотите сделать (вместо отправки электронной почты) в своем вопросе.

person Bud Damyanov    schedule 29.04.2014
comment
Ну, меня все равно не волнует электронная почта. Я просто хочу, чтобы он что-нибудь напечатал. (А позже внести изменения в отправленные данные). И даже без -›skip_mail он больше не отправляет сообщения по электронной почте. извините, я уточню это в своем ответе. - person Xatenev; 29.04.2014
comment
Я записал это в functions.php в web/wp-content/themes/mytheme/functions.php, но он все еще не работает, нужно ли мне писать add_action где-то еще? -> Я хочу распечатать $wpcf7_data. - person Xatenev; 29.04.2014
comment
Файл functions.php с s в конце. - person Bud Damyanov; 29.04.2014
comment
Да, я написал это там, но все равно ничего не происходит^^ Где я должен написать add_action(wpcf7....)? Я также написал это в functions.php - person Xatenev; 29.04.2014
comment
Весь фрагмент кода должен находиться в functions.php, включая add_action(...) - person Bud Damyanov; 29.04.2014
comment
Какой add_filter? Я только что получил add_action здесь?! -› нвм. - person Xatenev; 29.04.2014
comment
давайте продолжим это обсуждение в чате - person Xatenev; 29.04.2014