如何在当前类别中进行搜索

时间:2010-07-15 12:46:42

标签: php wordpress

我正在使用此代码进行搜索:

<?php


    function wp_search_form($form) {
    $form = '<form method="get" id="searchform" action="' . get_option('home') . '/" >
    '.wp_dropdown_categories('exclude=1 Categories&hide_empty=0&echo=0&selected='.intval($_GET['cat']).'').'
    <input type="text" class="search_input" value="' . attribute_escape(apply_filters('the_search_query', get_search_query())) . '" name="s" id="s" />
    <input type="submit" alt="Search" class="greybutton float_right" value="Search" />


    </div>
    </form>';
    return $form;
}

我想删除catagory下拉菜单,而是让它搜索当前的catagory

3 个答案:

答案 0 :(得分:2)

删除wp_dropdown_categories()来电并替换为;

<input type="hidden" name="cat" value="<?php echo $wp_query->get_queried_object_id(); ?>" />

请注意,如果您在函数中使用它,则需要全局化$wp_query

答案 1 :(得分:1)

我不想偷走TheDeadMedic的业力......我的评价还不足以评论现有的答案......

这是他的代码放在一起:

function wp_search_form($form) {
global $wp_query;

$form = '<form method="get" id="searchform" action="' . get_option('home') . '/" >
<input type="hidden" name="cat" value="'. $wp_query->get_queried_object_id() .'" />
<input type="text" class="search_input" value="' . attribute_escape(apply_filters('the_search_query', get_search_query())) . '" name="s" id="s" />
<input type="submit" alt="Search" class="greybutton float_right" value="Search" />


</div>
</form>';
return $form;
}

答案 2 :(得分:0)

我使用以下代码(在searchform.php中或您要放置搜索表单的位置进行当前类别的搜索:

<form method="get" id="searchform" action="<?php bloginfo('home'); ?>/">
<div>
<input type="text" value="<?php echo wp_specialchars($s, 1); ?>" name="s" id="s" />
<input type="hidden" name="cat" value="<?php echo $cat ;?>" />
<input type="submit" id="searchsubmit" value="Search" />
</div>
</form>