1 ? (( $paged - 1 ) * $events_per_page) - 1 : ( $paged - 1 ) * $events_per_page; // New Changes. $meta_query = array(); // Daterange filter. if (isset($_GET['from_date']) && !empty($_GET['from_date']) && isset($_GET['to_date'] ) && !empty($_GET['to_date'])) { $startDate = $_GET['from_date']; $endDate = $_GET['to_date']; $format_out = 'Ymd'; // the format you want to end up with $date1 = new DateTime( $startDate ); $date2 = new DateTime( $endDate ); $fromDate = $date1->format( $format_out ); $toDate = $date2->format( $format_out ); $meta_query[] = array( array( 'relation' => 'OR', array( 'relation' => 'AND', array( 'key' => 'end_date', 'value' => '', 'compare' => '=', 'type' => 'date' ), array( 'key' => 'event_date', 'value' => array($fromDate, $toDate), 'compare' => 'BETWEEN', 'type' => 'date' ), ), array( 'relation' => 'AND', array( 'key' => 'event_date', 'value' => $toDate, 'compare' => '<=', 'type' => 'date' ), array( 'key' => 'end_date', 'value' => $fromDate, 'compare' => '>=', 'type' => 'date' ), ), ), ); } // Date Filter if (isset($_GET['date']) && !empty($_GET['date']) ) { $date = isset($_GET['date']) ? $_GET['date'] : ''; $format_out = 'Ymd'; // the format you want to end up with $date = new DateTime( $date ); $date = $date->format( $format_out ); $meta_query[] = array( array( 'relation' => 'OR', array( 'relation' => 'AND', array( 'key' => 'end_date', 'value' => '', 'compare' => '=', 'type' => 'date' ), array( 'key' => 'event_date', 'value' => $date, 'compare' => '=', 'type' => 'date' ), ), array( 'relation' => 'AND', array( 'key' => 'event_date', 'value' => $date, 'compare' => '<=', 'type' => 'date' ), array( 'key' => 'end_date', 'value' => $date, 'compare' => '>=', 'type' => 'date' ), ), ), ); } if(! isset($_GET['date']) && ! isset($_GET['from_date']) && ! isset($_GET['filter-year']) ) { $meta_query[] = array( array( 'relation' => 'OR', array( 'relation' => 'AND', array( 'key' => 'end_date', 'value' => '', 'compare' => '=', 'type' => 'date' ), array( 'key' => 'event_date', 'value' => date('Ymd'), 'compare' => '>=', 'type' => 'date' ), ), array( 'key' => 'end_date', 'value' => date('Ymd'), 'compare' => '>=', 'type' => 'date' ) ), ); } // events query args $args = array( 'post_type' => 'event', 'post_status' => 'publish', 'meta_query' => array( $meta_query ), 'suppress_filters' => false, 'paged' => $paged, 'meta_key' => 'event_date', 'orderby' => 'meta_value_num', 'order' => 'ASC', 'type' => 'date', ); // filter by year if (isset($_GET['filter-year']) && !empty($_GET['filter-year'])) { $args['date_query'] = array( array( 'year' => $_GET['filter-year'] ) ); } //filter by status $today = date('Ymd'); /*if (isset($_GET['status'])){ $compare = '>='; if($_GET['status'] == "in-active") $compare = '<'; $args['meta_query'] = array( array( 'key' => 'event_date', 'value' => $today, 'compare' => $compare ) ); }*/ // filter by category if (isset($_GET['filter-category']) && !empty($_GET['filter-category'])) { $args['tax_query'] = array(array( 'taxonomy' => 'event_category', 'terms' => $_GET['filter-category'] )); } // filter by Word. if (isset($_GET['filter-search']) && !empty($_GET['filter-search'])) $args['s'] = $_GET['filter-search']; $args['posts_per_page'] = -1; $total_events = new WP_Query($args); // echo "
"; print_r($args); print_r($total_events->request);
    $events_arr['list_events_total'] = $total_events->post_count;
    $args['posts_per_page'] = $events_per_page;
    $args['offset'] = $previous_events_per_page;
    $events_arr['list_events'] = new WP_Query($args);
   
    return $events_arr;
}

function get_home_events() {
    
    $today = date('Ymd');
    $args = array(
        'post_type'   => 'event',
        'post_status' => 'publish',
        'orderby'     => 'meta_value_num',
        'meta_key'    => 'event_date',
        'order'       => "asc",
        'posts_per_page'   => 12,
        'suppress_filters' => false,
        'meta_query' => array(
            array(
            'relation' => 'OR',
                array(
                'relation' => 'AND',
                    array(
                        'key'         => 'end_date',
                        'value'       => '',
                        'compare'     => '=',
                        'type'        => 'date'
                    ),
                    array(
                        'key'         => 'event_date',
                        'value'       => date('Ymd'),
                        'compare'     => '>=',
                        'type'        => 'date'
                    ),
                ),
                array(
                    'key'         => 'end_date',
                    'value'       => date('Ymd'),
                    'compare'     => '>=',
                    'type'        => 'date'
                    
                )
            ),
        ),
    );
    $list_events = new WP_Query($args);
    return $list_events;
}
 'project',
        'post_status' => 'publish',
        'posts_per_page' => 15,
        'suppress_filters' => 0,
        'paged' => $paged
    );
    
    
    // filter by word
    if (isset($_GET['filter-search']) && !empty($_GET['filter-search'])){
        $args['s'] = $_GET['filter-search'];
        // echo $wpdb->terms;
        // echo $wpdb->term_taxonomy;
        $query = $wpdb->prepare("SELECT $wpdb->terms.term_id FROM $wpdb->terms JOIN $wpdb->term_taxonomy ON $wpdb->term_taxonomy.term_id = $wpdb->terms.term_id WHERE name LIKE '%%%s%%' AND $wpdb->term_taxonomy.taxonomy = 'project_tag'", $args['s']);
        $termID = $wpdb->get_col( $query );
        if(!empty($termID)){
            
            $args['tax_query'] = array(
                'relation' => 'OR',
                array(
                    'taxonomy' => 'project_tag',
                    'field'    => 'term_id',
                    'terms'    => $termID
                )
            );    
        }
        
    }else{
        // filter by rype
        if (isset($_GET['filter-type']) && !empty($_GET['filter-type'])) {
            $tax_arr[] = array(
                'taxonomy' => 'project_type',
                'terms' => $_GET['filter-type']
                    );
        }
        // filter by course
        if (isset($_GET['filter-course']) && !empty($_GET['filter-course'])) {
            $tax_arr[] = array(
                'taxonomy' => 'project_course',
                'terms' => $_GET['filter-course']
                    );
        }
        // filter by tag
        if (isset($_GET['filter-tag']) && !empty($_GET['filter-tag'])) {
            $tax_arr[] = array(
                'taxonomy' => 'project_tag',
                'terms' => $_GET['filter-tag']
                    )
            ;
        }
        // filter by year
        if (isset($_GET['filter-year']) && !empty($_GET['filter-year'])) {
            $args['meta_query'] = array(
                array(
                    'key' => 'project_year',
                    'value' => $_GET['filter-year']
                ),
            );
        }
        
        $tax_count = count($tax_arr);
        if ($tax_count > 1) {
            $tax_arr['relation'] = 'AND';
        }
        if ($tax_count > 0) {
            $args['tax_query'] = $tax_arr;
        }
    }

    $list_project = new WP_Query($args);
    // echo "
"; print_r($list_project->request);
    return $list_project;
}

function get_related_project($taxonomy, $term, $project_id) {
    $args = array(
        'post_type' => 'project',
        'post_status' => 'publish',
        'tax_query' => array(
            array(
                'taxonomy' => $taxonomy,
                'terms' => $term,
                'field' => 'term_id',
            )
        ),
        'posts_per_page' => 3,
        'suppress_filters' => 0,
    );
    if ($project_id)
        $args['post__not_in'] = $project_id;
    $related_projects = new WP_Query($args);
    return $related_projects;
}

function get_projects_home() {
    $args = array(
        'post_type' => 'project',
        'post_status' => 'publish',
        'posts_per_page' => 6,
        'suppress_filters' => 0,
    );
    $list_project = new WP_Query($args);
    return $list_project;
}
 $tax_type,
        'hide_empty' => true,
        'orderby' => 'name',
        'order' => 'ASC',
    ));
    return $type_terms;
}

function get_post_publish_year($post_type) {
    global $wpdb;

    $years = $wpdb->get_results($wpdb->prepare("
            SELECT DISTINCT YEAR( post_date ) AS year
            FROM $wpdb->posts
            WHERE post_type = %s
            AND post_status = 'publish'
            ORDER BY post_date DESC
        ", $post_type));
    return $years;
}

function get_projects_year_meta($meta_type) {
    global $wpdb;
    $years = $wpdb->get_results($wpdb->prepare('SELECT DISTINCT meta_value AS year FROM wp_postmeta WHERE meta_key LIKE "%s" AND meta_value != "" ORDER BY year DESC', $meta_type));
    return $years;
}
 array('post'),
        'post_status' => 'publish',
        'posts_per_page' => $limit,
        'suppress_filters' => 0,
    );
    $paged = 1;
    if (!empty(get_query_var('paged'))) {
        $paged = get_query_var('paged');
    } else if (!empty(get_query_var('page'))) {
        $paged = get_query_var('page');
    }
    if ($paged > 1)
        $args['paged'] = $paged;
    if (isset($_GET['filter-year']) && !empty($_GET['filter-year'])) {
        $args['date_query'] = array(
            array(
                'year' => $_GET['filter-year'],
            ),
        );
    }
    if (isset($_GET['filter-category']) && !empty($_GET['filter-category'])) {
        $tax_arr[] = array(
            'taxonomy' => 'category',
            'terms' => $_GET['filter-category'],
            'field' => 'term_id',
                )
        ;
        $args['tax_query'] = $tax_arr;
    }
    if (isset($_GET['filter-search']) && !empty($_GET['filter-search']))
        $args['s'] = $_GET['filter-search'];

    $list_news = new WP_Query($args);
    return $list_news;
}

function limit_text($text, $limit) {
    if (str_word_count($text, 0) > $limit) {
        $words = str_word_count($text, 2);
        $pos = array_keys($words);
        $text = substr($text, 0, $pos[$limit]) . '...';
    }
    return $text;
}

function get_news_by_cat($post_id, $cat_id) {
    $args = array(
        'post_type' => array('post'),
        'post_status' => 'publish',
        'posts_per_page' => 4,
        'suppress_filters' => 0,
        'post__not_in' => array($post_id)
    );
    $tax_arr[] = array(
        'taxonomy' => 'category',
        'terms' => $cat_id,
        'field' => 'term_id',
            )
    ;
    $args['tax_query'] = $tax_arr;
    $list_news = new WP_Query($args);
    return $list_news;
}

function get_home_news() {
    $args = array(
        'post_type' => array('post'),
        'post_status' => 'publish',
        'posts_per_page' => 5,
        'suppress_filters' => 0,
    );
    $list_news = new WP_Query($args);
    return $list_news;
}

function get_feature_image_post($post_id) {
    $image = FALSE;
    if (has_post_thumbnail($post_id)) {
        $image = wp_get_attachment_image_src(get_post_thumbnail_id($post_id), 'full');

        $image = $image[0];
    }
    return $image;
}

?>
 $paged,
                'offset' => $offset,
            );
            $filter_people = (isset($_POST["filter_people"]) && $_POST["filter_people"] != -1 ) ? $_POST["filter_people"] : null;
            $list_peoples = get_list_current_people_by_catgory($limit, $filter_people, $args);
            if (!empty($list_peoples->posts)) {
                ob_start();
                include ( get_template_directory() . '/template-parts/people/people-item.php');
                $template = ob_get_clean();
                $response["status"] = "true";
                $response["template"] = $template;
                $response["count"] = count($list_peoples->posts);
                $response["total"] = $list_peoples->found_posts;
                wp_send_json($response);
                die();
            } else {
                $response["status"] = "error";
                $response["message"] = __("No Data", "bas");
                $response["count"] = 0;
            }
            wp_send_json($response);
            die();
        }
    }

}

add_action('wp_ajax_load_more_prev_people', 'load_more_prev_people');
add_action('wp_ajax_nopriv_load_more_prev_people', 'load_more_prev_people');
if (!function_exists('load_more_prev_people')) {

    function load_more_prev_people() {
        if (isset($_POST["page"])) {
            $paged = ( $_POST["page"] ) ? $_POST["page"] : 1;
            $offset_start = 6;
            $limit = 6;
            $offset = ( $paged - 1 ) * 6 + $offset_start;
            $response["status"] = "error";
            $args = array(
                "paged" => $paged,
                'offset' => $offset,
            );
            $list_peoples = get_list_perv_people_Query($limit, $args);
            if (!empty($list_peoples->posts)) {
                ob_start();
                include ( get_template_directory() . '/template-parts/people/people-previous-item.php');
                $template = ob_get_clean();
                $response["status"] = "true";
                $response["template"] = $template;
                $response["count"] = count($list_peoples->posts);
                $response["total"] = $list_peoples->found_posts;
                wp_send_json($response);
                die();
            } else {
                $response["status"] = "error";
                $response["message"] = __("No Data", "bas");
                $response["count"] = 0;
            }
            wp_send_json($response);
            die();
        }
    }

}


if (!function_exists('get_list_current_people_by_catgory')) {

    function get_list_current_people_by_catgory($limit, $term_id = null, $args_extra = array()) {
        $args = array(
            'post_type' => array('people'),
            'post_status' => 'publish',
            'posts_per_page' => $limit,
            'orderby'=>'title',
            'order'=>'ASC',
            'suppress_filters' => 0,
            "meta_query" => array(
                "relation" => 'OR',
                array(
                    'key' => 'people_status',
                    'value' => 1,
                    'compare' => '='
                )
            )
        );
        if ($term_id) {
            $tax_arr[] = array(
                'taxonomy' => 'people_category',
                'terms' => $term_id,
                'field' => 'term_id',
                    )
            ;
            $args['tax_query'] = $tax_arr;
        }

        if (!empty($args_extra)) {
            $args = array_merge($args, $args_extra);
        }
        $list_peoples = new WP_Query($args);
        return $list_peoples;
    }

}

if (!function_exists('get_list_perv_people_Query')) {

    function get_list_perv_people_Query($limit, $args_extra = array()) {
        $args = array(
            'post_type' => array('people'),
            'post_status' => 'publish',
            'posts_per_page' => $limit,
            'suppress_filters' => 0,
            "meta_query" => array(
                "relation" => 'OR',
                array(
                    'key' => 'people_status',
                    'value' => 0,
                    'compare' => '='
                ),
                array(
                    'key' => 'people_status',
                    'compare' => 'NOT EXISTS',
                )
            )
        );
        if (!empty($args_extra)) {
            $args = array_merge($args, $args_extra);
        }
        $list_peoples = new WP_Query($args);
        return $list_peoples;
    }

}

function getfilterPeopleCategory() {
    $category_terms = get_terms("people_category", array(
        'taxonomy' => "people_category",
        'hide_empty' => false,
        'orderby' => 'name',
        'order' => 'ASC',
    ));
    return $category_terms;
}

function getRepotsCatories() {

    $category_terms = get_terms("report_category", array(
        'taxonomy' => "report_category",
        'hide_empty' => true,
    ));

    return $category_terms;
}
 $paged,
                'offset' => $offset,
            );
            $report = get_list_reports($_POST["report_id"], $args);
            if (!empty($report->posts)) {
                $list_reportes = $report;
                ob_start();
                include ( get_template_directory() . '/inc/report-items.php');
                $template = ob_get_clean();
                $response["status"] = "true";
                $response["template"] = $template;
                $response["count"] = count($report->posts);
                $response["total"] = $report->found_posts;
                wp_send_json($response);
                die();
            } else {
                $response["status"] = "error";
                $response["message"] = __("No Report with this id", "bas");
                $response["count"] = 0;
            }
            wp_send_json($response);
            die();
        }
    }
}

function get_list_reports($term_id, $args_extra = array()) {
    $args = array(
        'post_type' => array('report'),
        'post_status' => 'publish',
        'posts_per_page' => 10,
        'suppress_filters' => 0,
        "meta_query" => array(
            "relation" => 'OR',
            array(
                'key' => 'years_filter',
                'value' => $term_id,
                'compare' => '='
            )
        )
    );
    if (!empty($args_extra)) {
        $args = array_merge($args, $args_extra);
    }
    $list_reportes = new WP_Query($args);
    return $list_reportes;
}
 'video',
        'post_status' => 'publish',
        'posts_per_page' => 12,
        'suppress_filters' => 0,
        'paged' => $paged
    );
    $video_list = new WP_Query($args);

    return $video_list;
}

        

found_posts; ob_start(); include ( get_template_directory() . '/template-parts/shortcode/prev-staff-template.php'); return ob_get_clean(); } 'file', 'id' => '' ), $atts, 'accordion-block'); if ($atts['id'] != "") { ob_start(); $accordion_blocks = get_field('accordion_block', $atts['id']); $icon = $atts['icon']; include get_template_directory() . '/template-parts/shortcode/accordion-block-list.php'; $content = ob_get_clean(); return $content; } return ''; } max_num_pages > 0 ? $video_list->max_num_pages : 1; include get_template_directory() . '/inc/pagenation/pagenation.php'; $content = ob_get_clean(); return $content; } ID; $exchange_schools = get_field('exchange_schools',$page_id); include get_template_directory() . '/template-parts/shortcode/exchange-schools-list.php'; $content = ob_get_clean(); return $content; } ID; if (have_rows('project_documentation',$project_id)) { include get_template_directory() . '/template-parts/shortcode/project-documentation-list.php'; $content = ob_get_clean(); return $content; } return ""; } array('page', 'event', 'people', 'post', 'project'), 'post_status' => 'publish', 'posts_per_page' => 5, 'orderby' => 'title', 'order' => 'ASC', 'suppress_filters' => 0, 's' => $_GET['letter'] ); $all_posts = new WP_Query($args); } if (isset($_GET['letter']) && preg_match("/%/", $_GET['letter'])) $all_posts = ""; if ($all_posts->have_posts()) { $resposne['status'] = "success"; require get_template_directory() . '/template-parts/ajax-views/search-result.php'; } else { $resposne['status'] = "error"; echo '' . __(" No items Found", "bas") . ''; } $resposne['data'] = ob_get_clean(); wp_send_json($resposne); wp_die(); } ="; // $resposne = array(); // $args = array( // 'post_type' => 'event', // 'post_status' => 'publish', // 'posts_per_page' => -1, // 'suppress_filters' => 0, // // 'meta_query'=> array( // // array( // // 'key' => 'event_date', // // 'value' => $today, // // 'compare' => $compare // // ), // // ), // 'fields' => 'ids' // ); // $list_events = new WP_Query($args); // if ($list_events) { // if ($list_events->have_posts()) { // $events_date=$wpdb->get_results( // "SELECT pm.meta_value " // . "FROM {$wpdb->postmeta} as pm " // . "WHERE pm.meta_key='event_date' AND pm.post_id IN (" . implode (',', $list_events->posts) . ")" ,OBJECT); // if($events_date){ // foreach ($events_date as $key => $event) { // // $date = get_post_meta($event->ID, 'event_date', true); // $resposne[$key]['start'] = date('Y-m-d', strtotime($event->meta_value)); // $resposne[$key]['end'] = date('Y-m-d', strtotime($event->meta_value)); // $resposne[$key]['rendering'] = 'background'; // $resposne[$key]['className'] = 'my-calendar-class'; // } // } // } // } // wp_send_json($resposne); // wp_die(); // } /** * Highlight active dates. */ function fetchEvent() { global $wpdb; $today = date('Ymd'); $response = array(); $meta_query[] = array( array( 'relation' => 'OR', array( 'key' => 'end_date', 'value' => '', 'compare' => '=', 'type' => 'date' ), array( 'key' => 'end_date', 'value' => date('Ymd'), 'compare' => '>=', 'type' => 'date' ) ), ); $args = array( 'post_type' => 'event', 'post_status' => 'publish', 'posts_per_page' => -1, 'suppress_filters' => 0, 'meta_query' => array( $meta_query ), 'orderby' => 'event_date', 'order' => 'ASC' ); $list_events = get_posts($args); $date_array = array(); if(!empty($list_events)) { foreach($list_events as $list_event) { $start_date = strtotime(get_post_meta($list_event->ID, 'event_date', true)); $end_date = strtotime(get_post_meta( $list_event->ID, 'end_date', true)); if($end_date == '' ) { $Store = date('Y-m-d', $start_date); $date_array[] = $Store; } else{ for($currentDate = $start_date; $currentDate <= $end_date; $currentDate += (86400)) { $Store = date('Y-m-d', $currentDate); $date_array[] = $Store; } } } } array_unique($date_array); $size = count($date_array); for($i = 0; $i<= $size; $i++) { $response[$i]['start'] = date('Y-m-d', strtotime($date_array[$i])); $response[$i]['rendering'] = 'background'; $response[$i]['className'] = 'my-calendar-class'; } wp_send_json($response); wp_die(); } add_action('wp_ajax_fetchEvent', 'fetchEvent'); add_action('wp_ajax_nopriv_fetchEvent', 'fetchEvent');