絞り込み検索
<?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');
?>