Wordpress 修改联系人表格7提交数据

Wordpress 修改联系人表格7提交数据,wordpress,contact-form-7,Wordpress,Contact Form 7,我在一个网站上使用联系方式7,需要更改提交数据的复选框。复选框有一个名为“勾选此处,如果您不想收到进一步的营销”的标签,勾选后,管理员通知电子邮件中发送的值将显示复选框标签。 所以它看起来像: 如果你不想接受进一步的营销,请勾选此处:如果你不想接受进一步的营销,请勾选此处 我想改变它,所以当它被选中时,发布的值是No 我相信我可以使用下面的操作钩子来实现这一点,但我不知道如何检查此函数中是否勾选了复选框并修改其值 非常感谢您的帮助 // define the wpcf7_posted_data

我在一个网站上使用联系方式7,需要更改提交数据的复选框。复选框有一个名为“勾选此处,如果您不想收到进一步的营销”的标签,勾选后,管理员通知电子邮件中发送的值将显示复选框标签。 所以它看起来像:

如果你不想接受进一步的营销,请勾选此处:如果你不想接受进一步的营销,请勾选此处

我想改变它,所以当它被选中时,发布的值是No

我相信我可以使用下面的操作钩子来实现这一点,但我不知道如何检查此函数中是否勾选了复选框并修改其值

非常感谢您的帮助

// define the wpcf7_posted_data callback 
function action_wpcf7_posted_data( $array ) { 
// make action magic happen here... 
}; 

// add the action 
add_action( 'wpcf7_posted_data', 'action_wpcf7_posted_data', 10, 1 );

我相信你可以使用:

// define the wpcf7_posted_data callback 
function action_wpcf7_posted_data( $array ) { 
    //'checkbox-name' is the name that you gave the field in the CF7 admin.
    $value = $array['checkbox-name'];
    if( !empty( $value ) ){
        $array['checkbox-name'] = "New Value";
    }

    return $array;
}; 
add_filter( 'wpcf7_posted_data', 'action_wpcf7_posted_data', 10, 1 );

谢谢,这是工作,但它也改变了张贴的数据时,复选框没有勾选。当它没有勾选时,我希望它要么不发送数据,要么说是。我会说你使用了错误的钩子。我明天会查对的。我应该在发送邮件之前使用wpcf7吗?上面的if语句是否能按预期工作?仔细想想,检查空白字符串可能是不正确的。查看未勾选复选框时$value的值。无论这个值是用if替换if语句中的空白字符串。虽然这个帖子比较旧,但我遇到了同样的问题,这里是解决方案:在发布的数据中复选框名称的$value总是数组,因此不是空的。区别在于第一个元素要么是空的,要么不是空的。因此正确的检查是:
if(!empty($value[0])
。然后
$array['checkbox-name'][0]=“新值”