代码之家  ›  专栏  ›  技术社区  ›  snookian

Wordpress模板中的基本表单

  •  0
  • snookian  · 技术社区  · 5 年前

    我只需要从一个 form 变成一个变量。我已经建立了一个基本的 类型 在模板文件中,该模板文件随后链接到Wordpress admin中的页面。我遇到的问题是 类型 未提交,因此我无法使用变量。如果我移除 get_header(); 从模板,然后表单将提交,但显然它打破了wordpress的东西。

    这是我的表格:

    <form action="<?php the_permalink(); ?>" method="post" autocomplete="off" >
        
          <label>
            <input placeholder="Search…" 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 所以我可以在以后的页面中使用它。

    感谢您的帮助。

    0 回复  |  直到 5 年前
        1
  •  0
  •   Lajos Arpad    5 年前

    如果没有可复制的场景,很难确定您的确切问题是什么。例如,在没有看到您的问题的情况下,我不确定 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 .

    编辑

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

    推荐文章