【发布时间】:2018-01-12 02:49:43
【问题描述】:
所以我试图从 URL 中获取 email 变量,如果我在页面模板中执行此操作,那么当您希望更改表单时,您必须打开文件并更改它,而不仅仅是发布它在页面编辑器中。
下面的代码是我在functions.php中设置的短代码
function get_email() {
return $_GET["inf_field_Email"];
}
add_shortcode('email', 'get_email');
如果我将代码 echo $_GET["inf_field_Email"]; 包含在 php 模板中,它就可以工作,所以我知道这不是问题。
但是,当我尝试在 Wordpress 页面编辑器中使用简码时,它在表单字段中显示的只是我输入的简码 [email],并且不会从 URL 返回变量。
这是表单域:
仅供参考,提供的 URL 可以与 echo $_GET["inf_field_Email"]; 一起正常工作,所以我也可以说问题不是 URL。
编辑:阐明如何将表单插入页面
表单被插入到页面编辑器中,因此它被正确地通过内容循环拉入。当我在循环外手动插入代码并回显 $_GET 它工作正常,但我需要它在 the_content() 循环内工作。
编辑:建议我转储 var 并返回变量,仍然不起作用
function get_email() {
$emailinput = $_GET["inf_field_Email"];
var_dump($emailinput);
return $emailinput;
}
add_shortcode('email', 'get_email');
【问题讨论】:
-
您的页面模板看起来如何?短代码是单独传递给模板还是作为 the_content() 函数的一部分传递给模板?
-
表单被插入到页面编辑器中,因此它被正确地通过内容循环拉入。当我在循环外手动插入代码并回显 $_GET 它工作正常但我需要它在 the_content() 循环内工作。
-
在您的简码中,尝试通过 var_dumping 查看您是否访问该 URL,然后再返回。
-
它只是在页面上打印以下内容,而不是在表单字段中:string(26) "example@example.co.uk"
-
只存储在一个变量中并返回该变量
标签: php wordpress html shortcode