Ограничьте контактную форму 7 крючком для определенной формы [закрыто]
Я использую фильтр контактной формы 7, чтобы принять действие после отправки электронного письма. Как я могу ограничить это действие только одной формой? На разных страницах есть несколько форм, и я не хочу, чтобы это действие выполнялось после каждой формы, только для одной конкретной формы.
Я попытался ограничить действие страницей, на которой в форме используется предложение if, но затем "действие" не завершается. Как только я удалю предложение if, действие сработает.
function foo() {
if(is_page('bar') {
// some action
}
}
add_action( 'wpcf7_mail_sent', 'foo', 1 );
1
1 answers
Вы знаете идентификатор формы из шорткода, вы можете делать что-то только для этой конкретной формы. Вот пример кода для этого, просто замените $myform_id
своим идентификатором формы:
add_action( 'wpcf7_mail_sent', 'wp190913_wpcf7' );
/**
* Do stuff for my contact form form. This function shouldn't return aything
*
* @param WPCF7_ContactForm $contact_form wpcf7 object, passed by refference
*/
function wp190913_wpcf7( $contact_form ) {
// Not my desired form? bail
if ( $contact_form->id !== $myform_id )
return;
// Do stuff for my contact form
}
4
Author: Dan Ștefancu, 2013-09-19 18:13:03