我正在创建一个插件;该插件有项目列表,我想在列表中搜索项目。
这是我的代码:
<form method="get" action="<?php echo admin_url('admin.php?page=listing'); ?>" id="search" >
<input type="text" name="q" placeholder='Search'/>
</form>
当我提交表单时,URL会重定向到:
http://localhost/wordpress/wp-admin/admin.php?q=shock
没有搜索发生!我该如何解决这个问题?
答案 0 :(得分:1)
您的page
参数被删除。
您正在使用GET
方法,q
参数会覆盖查询字符串中的所有其他参数,即page=listing
。
两种可能的解决方案:
通过设置POST
属性来使用method="post"
,在这种情况下,q
将作为POST参数传递给网址为.../admin.php?page=listing
的网页。
在表单中包含page
参数(<input type="hidden" name="page" value="listing"/>
),并将admin_url('admin.php?page=listing');
替换为admin_url('admin.php');
,在这种情况下,您最终会{{1}因为您的表单将同时包含.../admin.php?page=listing&q=shock
和q
个参数。
选择实际取决于插件获取搜索字符串的方式:GET或POST参数。