php - Wordpress 模板中的基本表单
问题描述
我需要简单地将搜索词从 a 获取form
到变量中。我已经在模板文件中设置了一个基础form
,然后将该模板文件链接到 Wordpress 管理员中的页面。我遇到的问题是form
没有提交,所以我无法使用该变量。如果我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
,以便稍后在页面下方使用它。
任何帮助表示赞赏。
解决方案
如果没有可重现的场景,很难确定您的确切问题是什么。例如,没有看到您的问题,我不确定是否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
。
编辑
事实证明,类名的格式不正确(区分大小写问题)。
推荐阅读
- html - Flip Boxes 不能在 Mac 上运行,但可以在手机上运行
- c# - 在测试控制器发布方法时,我如何模拟 MySql 数据库返回的主键
- c - 在 STM32f103 上的 PWM 定时器比较匹配时无法获得中断
- javascript - javascript按钮事件剂量正常工作
- google-sheets - 数组公式以及如何使用 COUNTIF 和 IF 语句对其进行格式化
- java - 如何知道这个 while 循环是 O(n) 还是 O(1)?
- c++ - 包含同一类成员的类
- c# - SSMS 的 VSIX 扩展 - 如何将菜单项添加到结果网格中的上下文菜单?
- authentication - 试图用相同的用户名登录一个人
- java - 在 SQL Server 和链接服务器之间比较表中的数据