我需要处理一个post请求admin-post
. 这是我表格的代码:
<form action="<?php echo esc_url( admin_url(\'admin-post.php\') ); ?>" method="post">
<input type="hidden" name="action" value="cat_filter">
<select id="regionSelect" name="region" >
<option value="none">choose region </option>
<option value="option2">option two</option>
<option value="option3">option three </option>
</select>
<select id="streetSelect" name="street">
<option value="none">choose street </option>
<option value="option2">option two</option>
<option value="option3">option three </option>
</select>
<button type="submit" class="button success small-12"><i class="fa fa-search"></i>SEARCH</button>
</form>
在我的functions.php
文件中,我添加了以下代码:add_action( \'admin_post_cat_filter\', \'cat_filter_posts\' );
add_action( \'admin_post_nopriv_cat_filter\', \'cat_filter_posts\' );
在函数文件的顶部,我包含了另一个PHP
文件,并在该文件中编写函数来完成我的工作。此文件的第一行是:function cat_filter_posts() {
if ($_POST[\'kind\'] !="none") {
$posts=new WP_Query(array( \'type\'=> \'post\', \'category_name\'=> $_POST[\'kind\']));
}
}
但这给了我一个错误,因为我无法识别表单值:Notice: Undefined index: kind in /home2/address-to-file/examplefile.php
我想我只是正确地完成了每一步,但这段代码不起作用!