如何在 Wordpress 页面中使用 $_GET 变量

How use $_GET variable in a Wordpress page

我有一个查询课程信息的表格,每门课程都有它的页面,但是信息页面是一个通用的。 表格应该是这样的:

<form action="#" method="POST">
<label for="name">Name</label>
<input name="name" type="text">

<label for="email">Email</label>
<input name="email" type="email">

<input type="hidden" id="code"  value="<?php echo $course_code; ?>">
<input id="submit" type="submit" value="Invia" />
</form>

我想根据引荐页面更改 var $course 代码。 (使用 $_GET 变量)

我试过 "Shortcode Exec PHP" 插件在 wp 页面中执行 php,但没有用。

当您 POST 表单时,变量不会设置在 $_GET 中,而是在 $_POST 中。非此即彼,所以如果你想读取 $_GET var,你还必须在表单上使用 GET,如下所示:

<form action="#" method="GET">
<label for="name">Name</label>
...

(这是 Fred 评论的内容,但由于我的代表率低,我无法扩展该评论​​)

我用错了"Shortcode Exec PHP"插件。 我设置了一个简码:

$course_name = $_GET['cn'];
$courses= array("courses1","courses2","couses3");
if (in_array($course_name, $courses)) {
   echo $course_name:
}

并且在wordpress页面中可以使用shortcode的名称

[couse_name]

现在开始了!

您可以只使用 $_REQUEST,因此它是 POST 还是来自表单的 GET 都没有关系。但我不会使用表单中的 GET,除非它是搜索或用户可以将 url 添加为书签并查看结果的东西。大多数情况下对所有其他实例使用 POST。

HTML表格...

<form method="post">
    <label>Name<br>
        <input type="text" name="name">
    </label>
    ...
    <input type="submit" value="Invia">
</form>

PHP 处理表单的页面...

<?php
    // $_REQUEST will contain POST, GET & COOKIE
    echo $_REQUEST['name']; 
?>