我想做什么:我的联系表单7非常简单。我有一个输入字段和一个提交按钮。我想操纵文本字段中的数据而不是(或者可能之前,但现在只是说,而不是)发送电子邮件。让我们说我想在输入的数字上加1并在屏幕上显示。 我的cf7:
[number* textfield]
[submit "Senden"]
my functions.php:在我的functions.php末尾,我有以下代码。
add_action("wpcf7_before_send_mail", "wpcf7_datamanipulate");
function wpcf7_datamanipulate($cf7) {
$wpcf = WPCF7_ContactForm::get_current();
if (true)
$wpcf->skip_mail = true;
return $wpcf;
}
这对于跳过邮件非常有效。 PERFEKT。现在我想var_dump或print_r $ wpcf的内容,所以我知道我之前输入的数字存储位置。
var_dump($wpcf);
似乎没有在functions.php中工作 - 也没有简单的回声。
我还尝试使用die()在var_dump()之后立即终止脚本,但$ wpcf的内容不起作用。
我可以用什么来显示我需要在我的函数中使用的数据?
非常感谢!
答案 0 :(得分:1)
调试functions.php时,我使用以下命令:
echo "<!-- DEBUG\n" . print_r($wpcf, true) . "\n-->";
上面将您的print_r数据放在HTML注释中,因此页面将正常呈现。然后只需查看页面来源并搜索"DEBUG"
即可。你会看到你的数据。
重要位是为true
指定的print_r
。这指示print_r 返回一个字符串(附加到注释字符串)并将echo放入html中。页面完成渲染后,您可以查看评论。
否则,print_r将尝试直接打印数据,它可能不会在您想要的地方结束(或导致已经发送了可怕的标题)。
答案 1 :(得分:-1)
DukeOfAnkh的解决方案中的回声对我也不起作用。我发现this article的位置写着“请注意,在此过程中,您无法在屏幕上“回显”或“打印”任何东西;它不会显示。”并提到了替代方法:
error_log( print_r( $WPCF7_ContactForm, 1 ) );