将联系人表单7挂钩限制为特定表单

时间:2013-09-19 作者:chowwy

我正在使用联系人表单7筛选器在发送电子邮件后采取操作。如何将此操作限制为仅一种形式?不同页面上有多个表单,我不希望此操作在每个表单之后运行,只在一个特定表单之后运行。

我尝试将操作限制在表单使用if子句的页面上,但是“操作”没有完成。一旦我删除了if子句,那么这个操作就会起作用。

function foo() {

   if(is_page(\'bar\') {

     // some action
    }
}
add_action( \'wpcf7_mail_sent\', \'foo\', 1 );

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
}

结束

相关推荐

将联系人表单7挂钩限制为特定表单 - 小码农CODE - 行之有效找到问题解决它

将联系人表单7挂钩限制为特定表单

时间:2013-09-19 作者:chowwy

我正在使用联系人表单7筛选器在发送电子邮件后采取操作。如何将此操作限制为仅一种形式?不同页面上有多个表单,我不希望此操作在每个表单之后运行,只在一个特定表单之后运行。

我尝试将操作限制在表单使用if子句的页面上,但是“操作”没有完成。一旦我删除了if子句,那么这个操作就会起作用。

function foo() {

   if(is_page(\'bar\') {

     // some action
    }
}
add_action( \'wpcf7_mail_sent\', \'foo\', 1 );

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
}

相关推荐