Как получить сообщение в соответствии с пользовательской таксономией, датой начала и датой окончания с поиском ввода в WordPress? - PullRequest
0 голосов
/ 30 мая 2019

Пользовательский тип сообщения --- Событие

пользовательская таксономия ----- myevents

Использование jQuery Datepicker для даты начала и окончания

Поле поиска для поиска имени события

Я хочу получить события пользовательского типа с помощью простого поиска по форме. В котором я выбрал пользовательскую таксономию в опции выбора, затем я добавил дату начала и окончания, используя jQuery Datepicker в последнем поле поиска.

Мой поисковый URL выглядит так:

http://localhost/customthemedev/?categoryfilter=Techfest&Start=01-May-2019&End=10-May-2019&search=smoke+event+
<form class="select-event-date" method="GET" action="<?php bloginfo('home'); ?>" autocomplete="off" id="filter">
  <div class="form-group eventfunction">
    <label>Categories</label>
    <select class="form-control" name="categoryfilter">
    <?php
       $tax_terms = get_terms('myevents', array('hide_empty' => '0'));      
       foreach ( $tax_terms as $tax_term ):
          echo '<option value="'.$tax_term->name.'">'.$tax_term->name.'</option>';   
       endforeach;
    ?>
    </select> 
  </div>
  <div class="form-group selectDate">
    <input type="text" class="form-control" placeholder="Start Date" name="Start" id="txtFrom">
  </div>
  <div class="form-group endDate">
    <input type="text" class="form-control" placeholder="End Date" name="End"  id="txtTo">
  </div>
  <div class="form-group searchEvent">
    <label>
      <img src="<?php echo get_template_directory_uri();; ?>/assets/images/search-22.png" alt="Icon">
    </label>
    <input type="text" placeholder="Search.." name="search">
  </div>
  <button type="submit" class="btn btn-default">FIND EVENTS</button>
</form>

1 Ответ

0 голосов
/ 30 мая 2019
Try this :

// Получить все термины в формате массива

<code>    $termSlug = array();
    $tax_terms = get_terms('myevents', array('hide_empty' => '0'));      
    foreach ( $tax_terms as $tax_term ):
      $termSlug[] = $tax_term->slug;   
    endforeach;

//Assign the date into variable 

    $start_date = '01-May-2019';
    $end_date ='10-May-2019';  

//use the date format acccording to SQL format

    $start_date_new = date("YOUR DATE FORMAT", strtotime($start_date));
    $end_date_new = date("YOUR DATE FORMAT", strtotime($end_date));
    $event_args = array(
        'post_type' => 'Event',  //Post type event  
        'orderby' => 'date',
        'order' => 'DESC',
        'posts_per_page' => -1,
        'meta_query'=>array(    //Meta Query search
            'relation'=>'AND',
             array(
                'key' => 'start_date',
                'value' => $start_date_new, //start date here
                'compare' => '>=',
                'type' => 'NUMERIC'
             ),
             array(
                'key' => 'end_date',
                'value' => $end_date_new, //end date here
                'compare' => '<=',
                'type' => 'NUMERIC'
             )
         ),
        'tax_query' => array(
            array (
                'taxonomy' => 'myevents', //Taxonomy search 
                'field' => 'slug',
                'terms' => $termSlug,  //terms in array
            )
        ),
    );
    $all_events = new WP_Query($event_args); 

    echo '<pre>';print_r($all_events);echo '
';
...