| Server IP : 213.186.33.4 / Your IP : 216.73.216.222 Web Server : Apache System : Linux webm005.cluster103.gra.hosting.ovh.net 6.18.39-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Tue Jul 21 12:03:15 CEST 2026 x86_64 User : karinebmkh ( 644538) PHP Version : 8.4.22 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/karinebmkh/www2/wp-content/themes/glaza/includes/ |
Upload File : |
<?php
/**
* @param array $data
* @param string $paged
* custom query for this theme
*/
if ( ! function_exists( 'glaza_query_custom' ) ) {
function glaza_query_custom( $data = array(), $paged = null ) {
$defaults = array(
'categories' => '',
'category' => '',
'author_id' => '',
'post_format' => '',
'tags' => '',
'tag_in' => '',
'posts_per_page' => '',
'paged' => '',
'no_found_rows' => false,
'offset' => 0,
'orderby' => 'date_post',
'post_type' => 'post',
'meta_key' => '',
'post_in' => '',
'post_not_in' => '',
'unique_filter' => false,
'tax_query' => array(),
'ignore_sticky_posts' => 1
);
$data = wp_parse_args( $data, $defaults );
if ( 'popular' == $data['orderby'] && ! class_exists( 'Post_Views_Counter' ) ) {
$data['orderby'] = 'comment_count';
}
$param = array();
$param['post_status'] = 'publish';
$param['ignore_sticky_posts'] = $data['ignore_sticky_posts'];
$param['post_type'] = $data['post_type'];
$param['no_found_rows'] = boolval( $data['no_found_rows'] );
$param['tax_query'] = array();
if ( ! empty( $data['posts_per_page'] ) ) {
$param['posts_per_page'] = intval( $data['posts_per_page'] );
}
if ( ! empty( $paged ) ) {
$param['paged'] = intval( $paged );
} elseif ( ! empty( $data['paged'] ) ) {
$param['paged'] = intval( $data['paged'] );
}
//post in
if ( ! empty( $data['post_in'] ) ) {
if ( is_string( $data['post_in'] ) ) {
$param['post__in'] = explode( ',', $data['post_in'] );
} elseif ( is_array( $data['post_in'] ) ) {
$param['post__in'] = $data['post_in'];
}
} elseif ( ! empty( $data['post_not_in'] ) ) {
if ( is_string( $data['post_not_in'] ) ) {
$param['post__not_in'] = explode( ',', $data['post_not_in'] );
} elseif ( is_array( $data['post_not_in'] ) ) {
$param['post__not_in'] = $data['post_not_in'];
}
}
if ( ! empty( $data['categories'] ) && 'all' != $data['categories'] ) {
if ( is_array( $data['categories'] ) ) {
$param['cat'] = implode( ',', $data['categories'] );
} elseif ( is_string( $data['categories'] ) ) {
$param['cat'] = trim( $data['categories'] );
}
} elseif ( ! empty( $data['category'] ) && 'all' != $data['category'] ) {
$param['cat'] = $data['category'];
}
if ( ! empty( $data['author_id'] ) ) {
$param['author'] = $data['author_id'];
}
if ( ! empty( $data['post_format'] ) && 'post' == $data['post_type'] ) {
if ( 'default' != $data['post_format'] ) {
$param['tax_query'][] = array(
'taxonomy' => 'post_format',
'field' => 'slug',
'terms' => array( 'post-format-' . trim( $data['post_format'] ) ),
);
} else {
$param['tax_query'][] = array(
'taxonomy' => 'post_format',
'field' => 'slug',
'terms' => array( 'post-format-gallery', 'post-format-video', 'post-format-audio' ),
'operator' => 'NOT IN',
);
}
}
if ( ! empty( $data['tax_query'] ) ) {
$param['tax_query'][] = $data['tax_query'];
}
if ( ! empty( $data['offset'] ) ) {
if ( $paged > 1 ) {
$param['offset'] = intval( $data['offset'] ) + intval( ( $paged - 1 ) * intval( $data['posts_per_page'] ) );
} else {
$param['offset'] = intval( $data['offset'] );
}
}
if ( ! empty( $data['tags'] ) ) {
$data['tags'] = preg_replace( '/\s+/', '', $data['tags'] );
$param['tag'] = $data['tags'];
}
if ( ! empty( $data['tag_in'] ) && is_array( $data['tag_in'] ) ) {
$param['tag__in'] = $data['tag_in'];
}
if ( ! empty( $data['meta_key'] ) ) {
$param['meta_key'] = $data['meta_key'];
$param['orderby'] = 'meta_value_num';
}
switch ( $data['orderby'] ) {
case 'date_post' :
$param['orderby'] = 'date';
$param['order'] = 'DESC';
break;
case 'comment_count' :
$param['orderby'] = 'comment_count';
break;
case 'post_type' :
$param['orderby'] = 'type';
break;
case 'popular':
$param['suppress_filters'] = false;
$param['fields'] = '';
$param['orderby'] = 'post_views';
$param['order'] = 'DESC';
break;
case 'top_review' :
$param['meta_key'] = 'glaza_as';
$param['orderby'] = 'meta_value_num';
$param['order'] = 'DESC';
break;
case 'last_review' :
$param['meta_key'] = 'glaza_as';
$param['orderby'] = 'date';
$param['order'] = 'DESC';
break;
case 'rand':
$param['orderby'] = 'rand';
break;
case 'alphabetical_order_decs':
$param['orderby'] = 'title';
$param['order'] = 'DECS';
break;
case 'alphabetical_order_asc':
$param['orderby'] = 'title';
$param['order'] = 'ASC';
break;
default :
$param['orderby'] = 'date';
break;
}
$query_data = new WP_Query( $param );
return $query_data;
}
}
/**
* @param array $data
* @param int $paged
*
* @return WP_Query
* query related posts
*/
if ( ! function_exists( 'glaza_query_related' ) ) {
function glaza_query_related( $data = array(), $paged = 1 ) {
$defaults = array(
'where' => '',
'category_ids' => '',
'tags' => '',
'posts_per_page' => '',
'post_format' => '',
'post_not_in' => '',
);
$data = wp_parse_args( $data, $defaults );
if ( empty( $data['where'] ) ) {
return false;
}
//setup param
$param = array();
$param['ignore_sticky_posts'] = 1;
$param['post_status'] = 'publish';
$param['post_type'] = 'post';
$param['orderby'] = 'date';
if ( ! empty( $paged ) ) {
$param['paged'] = $paged;
}
if ( ! empty( $data['posts_per_page'] ) ) {
$param['posts_per_page'] = $data['posts_per_page'];
} else {
$param['posts_per_page'] = get_option( 'posts_per_page' );
}
if ( ! empty( $data['post_not_in'] ) ) {
$param['post__not_in'] = explode( ',', $data['post_not_in'] );
}
switch ( $data['where'] ) {
case 'all':
if ( empty( $data['category_ids'] ) && empty( $data['tags'] ) ) {
return false;
}
if ( ! empty( $data['category_ids'] ) && ! empty( $data['tags'] ) ) {
$data['category_ids'] = explode( ',', $data['category_ids'] );
$data['tags'] = explode( ',', $data['tags'] );
if ( empty( $data['post_format'] ) ) {
$param['tax_query'] = array(
'relation' => 'OR',
array(
'taxonomy' => 'category',
'field' => 'term_id',
'terms' => $data['category_ids'],
),
array(
'taxonomy' => 'post_tag',
'field' => 'slug',
'terms' => $data['tags'],
),
);
} else {
$param['tax_query'] = array(
'relation' => 'AND',
array(
'taxonomy' => 'post_format',
'field' => 'slug',
'terms' => array( 'post-format-' . esc_attr( $data['post_format'] ) ),
),
array(
'relation' => 'OR',
array(
'taxonomy' => 'category',
'field' => 'term_id',
'terms' => $data['category_ids'],
),
array(
'taxonomy' => 'post_tag',
'field' => 'slug',
'terms' => $data['tags'],
),
)
);
}
} elseif ( empty( $data['category_ids'] ) && ! empty( $data['tags'] ) ) {
$param['tag'] = $data['tags'];
if ( ! empty( $data['post_format'] ) ) {
$param['tax_query'] = array(
array(
'taxonomy' => 'post_format',
'field' => 'slug',
'terms' => array( 'post-format-' . esc_attr( $data['post_format'] ) ),
),
);
}
} else {
$param['cat'] = $data['category_ids'];
if ( ! empty( $data['post_format'] ) ) {
$param['tax_query'] = array(
array(
'taxonomy' => 'post_format',
'field' => 'slug',
'terms' => array( 'post-format-' . esc_attr( $data['post_format'] ) ),
),
);
}
}
break;
case 'cat' :
if ( empty( $data['category_ids'] ) ) {
return false;
}
$param['cat'] = $data['category_ids'];
if ( ! empty( $data['post_format'] ) ) {
$param['tax_query'] = array(
array(
'taxonomy' => 'post_format',
'field' => 'slug',
'terms' => array( 'post-format-' . esc_attr( $data['post_format'] ) ),
),
);
}
break;
case 'tag' :
if ( empty( $data['tags'] ) ) {
return false;
}
$param['tag'] = $data['tags'];
if ( ! empty( $data['post_format'] ) ) {
$param['tax_query'] = array(
array(
'taxonomy' => 'post_format',
'field' => 'slug',
'terms' => array( 'post-format-' . esc_attr( $data['post_format'] ) ),
),
);
}
break;
}
$query_data = new WP_Query( $param );
return $query_data;
}
}