wordpress中的var_dump functions.php

时间:2017-10-17 10:51:58

标签: php wordpress var-dump

我想做什么:我的联系表单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的内容不起作用。

我可以用什么来显示我需要在我的函数中使用的数据?

非常感谢!

2 个答案:

答案 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 ) );