cksgrapes
5/7/2015 - 7:31 AM

絞り込み検索

絞り込み検索

<?php
function myPreGetPosts( $query ) {
    if ( is_admin() || ! $query->is_main_query() ){
        return;
    }
    if ( $query->is_search() ) {
        $s = isset($_GET['s']) ? esc_html($_GET['s']) : null;
        $saleyear = isset($_GET['saleyear']) ? esc_html($_GET['saleyear']) : null;
        $salemonth = isset($_GET['salemonth']) ? esc_html($_GET['salemonth']) : null;
        $label = isset($_GET['label']) ? $_GET['label'] : null;
        if ( !empty( $saleyear ) ) {
            $metaquerysp[] = array(
                'key'=>'product_saleY',
                'value'=> $saleyear,
            );
        }
        if ( !empty( $salemonth ) ) {
            $metaquerysp[] = array(
                'key'=>'product_saleM',
                'value'=> $salemonth,
            );
        }
        if ( !empty( $label ) ) {
            $label = myhtmlspecialchars($label);
            $metaquerysp[] = array(
                    'key'=>'product_label',
                    'value'=> $label,
                    'compare' => 'IN',
                    );
        }
        $query->set('post_type','product');
        $metaquerysp['relation'] = 'AND';
        if ( !empty( $saleyear ) || !empty( $label ) ) {
            $query->set('meta_query',$metaquerysp);
        }
        $query->set('posts_per_page', 20);
    }
    if ( $query->is_post_type_archive( 'product' ) ) {
        $query->set('posts_per_page', 20);
    }
}
add_action('pre_get_posts','myPreGetPosts');
?>