我正在使用联系人表单7筛选器在发送电子邮件后采取操作。如何将此操作限制为仅一种形式?不同页面上有多个表单,我不希望此操作在每个表单之后运行,只在一个特定表单之后运行。
我尝试将操作限制在表单使用if子句的页面上,但是“操作”没有完成。一旦我删除了if子句,那么这个操作就会起作用。
function foo() {
if(is_page(\'bar\') {
// some action
}
}
add_action( \'wpcf7_mail_sent\', \'foo\', 1 );
最合适的回答,由SO网友:Dan Ștefancu 整理而成
您可以从短代码中知道表单的id,您可以只为该特定表单执行一些操作。这里有一些示例代码,只需替换$myform_id
使用您的表单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
}