PHP搜索表单过滤未显示所有类别

时间:2018-09-24 13:24:58

标签: javascript php jquery html wordpress

我遇到了问题,我在wordpress \ wp-content \ themes \ boombox \ searchform.php中添加了一个代码:

<form role="search" method="get" class="search-form" action="<?php echo home_url( '/' ); ?>">
    <label>
        <span class="screen-reader-text"><?php echo _x( 'Search for:', 'label' ) ?></span>
        <input type="search" class="search-field" placeholder="Search..." value="<?php echo esc_attr( get_search_query() ); ?>" name="s" title="<?php echo esc_attr_x( 'Search for:', 'label' ); ?>" />
    </label>
    <?php
        // output all of our Categories
        // for more information see http://codex.wordpress.org/Function_Reference/wp_dropdown_categories
        $swp_cat_dropdown_args = array(
                'show_option_all'  => __( 'Any Category' ),
                'name'             => 'swp_category_limiter',
            );
        wp_dropdown_categories( $swp_cat_dropdown_args );
    ?>
    <input type="submit" class="search-submit" value="Search" />
</form>

在wordpress \ wp-content \ themes \ boombox \ functions.php中,我添加了代码:

function my_searchwp_include_only_category( $ids, $engine, $terms ) {
    // if and only if a category ID was submitted:
    // we only want to apply this limitation to the default search engine
    // if you would like to change that you can do so here
    if ( ! empty( $_GET['swp_category_limiter'] ) && 'default' == $engine ) {
        $category_id = absint( $_GET['swp_category_limiter'] );
        $category_args = array(
                'category'       => $category_id,  // limit to the chosen category ID
                'fields'         => 'ids',         // we only want the IDs of these posts
                'posts_per_page' => -1,            // return ALL posts
            );
        $ids = get_posts( $category_args );
        // if there were no posts returned we need to force an empty result
        if ( 0 == count( $ids ) ) {
            $ids = array( 0 ); // this will force SearchWP to return zero results
        }
    }
    // always return our $ids
    return $ids;

The Categories that the search displays

All my categories

我的代码有什么问题? 感谢您的帮助

0 个答案:

没有答案