【问题标题】:var_dump inside wordpress functions.phpwordpress functions.php 中的 var_dump
【发布时间】:2018-03-29 00:59:52
【问题描述】:

我想做什么:我的联系表格 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;
}

这对于跳过邮件非常有效。完美。现在我想var_dumpprint_r $wpcf 的内容,所以我知道我之前输入的号码存储在哪里。

var_dump($wpcf);

似乎在 functions.php 中不起作用 - 简单的 echo 也不起作用。

我还尝试在var_dump() 之后使用die() 终止脚本,但$wpcf 的内容不起作用。

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

非常感谢!

【问题讨论】:

  • 你的 var_dump 放在函数的什么位置?
  • @stender,我在 $wpcf 和 if(true) 语句的声明之间以及 return 语句之前尝试了它。这些职位都不起作用。

标签: php wordpress var-dump


【解决方案1】:

在调试functions.php时,我使用以下内容:

echo "<!-- DEBUG\n" . print_r($wpcf, true) . "\n-->";

以上将您的 print_r 数据放在 HTML 注释中,因此页面将正常呈现。然后只需查看页面来源并搜索"DEBUG"。你会看到你的数据。

重要的一点是为print_r 指定的true。这指示 print_r return 一个字符串(附加到注释字符串)并 echo 将其放入 html。页面渲染完成后,即可查看评论。

否则,print_r 将尝试立即打印数据,它可能不会在您想要的位置结束(或导致可怕的标头已被发送问题)。

【讨论】:

  • 不幸的是,这并没有解决我的问题。在源代码中找不到 $wpcf 的内容。页面联系表格 7 插件不断加载。 imgur.com/916mEgC
  • 您正在查看页面的 HTML 源代码吗?该图像显示呈现的网页。在 Google Chrome 中,右键单击页面并选择检查。然后在元素选项卡中,按 ctrl+F 进行搜索。 imgur.com/a/6yDk7
  • 是的。我确实查看了页面的源代码。和 ctrl+f 我找到“调试”的方式
【解决方案2】:

DukeOfAnkh 的解决方案中的 Echo 对我也不起作用。我找到了this article,其中写着“请注意,在此过程中,您不能在屏幕上‘回显’或‘打印’任何内容;它不会显示。”并提到替代方法:

error_log( print_r( $WPCF7_ContactForm, 1 ) );

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-28
    • 1970-01-01
    • 1970-01-01
    • 2015-02-05
    • 2017-03-04
    相关资源
    最近更新 更多