首页 > 解决方案 > Wordpress 模板中的基本表单

问题描述

我需要简单地将搜索词从 a 获取form到变量中。我已经在模板文件中设置了一个基础form,然后将该模板文件链接到 Wordpress 管理员中的页面。我遇到的问题是form没有提交,所以我无法使用该变量。如果我get_header(); 从模板中删除,那么表单将提交,但显然它会破坏 wordpress 的东西。

这是我的表格:

<form action="<?php the_permalink(); ?>" method="post" autocomplete="off" >
    
      <label>
        <input placeholder="Search…&quot; name="qcsearch" type="text">
      </label>  

      <input type="submit" name="submit" value="Submit">

  </ul>
</form>

我尝试省略该操作,使用模板名称 qccerts.php 并使用$_SERVER['PHP_SELF']

这就是我要对输出做的事情:

if(isset($_POST['submit'])){   
  $searchterm = $_POST["qcsearch"];
}else{
  $searchterm = '';
}

它基本上是一个简单的搜索,它告诉用户是否有他们搜索的名称的文件。所以我需要填充$searchterm,以便稍后在页面下方使用它。

任何帮助表示赞赏。

标签: phpwordpressforms

解决方案


如果没有可重现的场景,很难确定您的确切问题是什么。例如,没有看到您的问题,我不确定是否form真的根本没有提交,或者已提交,但您没有看到它正在执行,或者有一些 Javascript 阻止您的表单提交。表单也有可能提交给错误的操作。

但是,如果您打算在整个页面中保留搜索词,则可以将其添加到会话中。让我们想象一下这些功能:

function storeSearchTerm($searchTerm) {
    $_SESSION["searchterm"] = $searchTerm;
}

function getSearchTerm() {
    return isset($_SESSION["searchterm"]) ? $_SESSION["searchterm"] : "";
}

通过调用这些函数,您可以管理搜索词,通过storeSearchTerm($_POST["qcsearch"])或其他方式对其进行初始化。

至于您的实际表格,如果它不起作用,那么您可以submit在表格中填写Javascript,例如

document.getElementById("myForm").submit();

并确保这是通过onclick属性触发的,或者是通过click创建的按钮上的事件侦听器触发的addEventListener

编辑

事实证明,类名的格式不正确(区分大小写问题)。


推荐阅读