Я заявляю, что речь идет о бронировании мероприятия, поэтому каждое событие по умолчанию имеет две функции:
Дата. который заключен в значение meta_value, заданное мета-ключом: metakey_AMC_data
Пользовательская таксономия
Теперь код, который я собираюсь вставитьотносится к странице таксономии x, где отображаются все события, имеющие эту таксономию, и отсортированы по дате, которая записана в формате db (dmy), и я преобразовал в (ymd) формат
Код для отображения всех событий с текущей датой:
<?php
/*MOSTRA EVENTI CON DATA CORRENTE*/
$args = array (
'post_type' => get_option('customer_postquery'),
'order' => 'ASC',
'meta_query' => array(
array(
'key' => 'metakey_AMC_data',
)
),
'tax_query' => array(
array(
'taxonomy' => 'categoria',
'field' => 'slug',
'terms' => $queried_object,
)
)
);
$custom_query = new WP_Query( $args );
?>
<?php if ($custom_query->have_posts()) : while ($custom_query->have_posts()) : $custom_query->the_post(); ?>
<?php
$var = get_post_meta(get_the_ID(),'metakey_AMC_data',true);
$data_dell_evento = date("Y-m-d", strtotime( $var ));
/*PRENDERE LA DATA CORRENTE IN FORMATO Y-m-d DIRETTAMENTE DA MYSQL*/
$data_di_oggi = date( 'Y-m-d', current_time( 'timestamp', 0 ) );
// You can eliminate comparison here as we are fetching only future events by query.
if ($data_di_oggi === $data_dell_evento ): ?>
<div style="padding-top: 25px;" class="col-md-4"><!-- Card -->
<?php include('content/home_page/card.php'); ?>
</div>
<?php else: ?>
<?php endif; ?>
<?php
endwhile;
else :
?>
<?php
endif;
wp_reset_postdata();
/*MOSTRA EVENTI CON DATA CORRENTE*/
?>
Где: 'post_type' => get_option('customer_postquery'),
можно будет динамически восстанавливать все созданные пользователем типы записей.
Код для отображения всех событий, которые имеют текущую дату в будущем:
<!-- MOSTRA EVENTI CON DATA FUTURA A QUELLA CORRENTE -->
<?php
$v_args = array(
'post_type' => get_option('customer_postquery'),
'posts_per_page' => -1,
'order' => 'ASC',
'meta_query' => array(
array (
'key' => 'metakey_AMC_data',
),
),
'tax_query' => array(
array(
'taxonomy' => 'categoria',
'field' => 'slug',
'terms' => $queried_object,
)
)
);
$vehicleSearchQuery = new WP_Query( $v_args );
if( $vehicleSearchQuery->have_posts() ) :
while( $vehicleSearchQuery->have_posts() ) : $vehicleSearchQuery->the_post();
?>
<?php
$var = get_post_meta(get_the_ID(),'metakey_AMC_data',true);
$data_dell_evento = date("Y-m-d", strtotime( $var ));
/*PRENDERE LA DATA CORRENTE IN FORMATO Y-m-d DIRETTAMENTE DA MYSQL*/
$data_di_oggi = date( 'Y-m-d', current_time( 'timestamp', 0 ) );
if ($data_dell_evento > $data_di_oggi ): ?>
<div style="padding-top: 25px;" class="col-md-4"><!-- Card -->
<?php include('content/home_page/card.php'); ?>
</div>
<?php endif; ?>
<?php
endwhile;
else :
?>
<?php
endif;
wp_reset_postdata();
?>
В чем проблема?
Проблема в том, что покапользовательский тип записи внутри Wordpress, и поэтому в запросе мы будем иметь, например: post_type' => ('NAMECUSTOMPOSTTYPE'),
Все созданные сообщения отсортированы идеально, поэтому, если у меня есть 4 сообщения:
Два с текущей датой
Один 08/10/2019
Один 10/10 / 2019
Они показаны в порядке и безупречно.
Но, как я уже сказал, используя: 'post_type' => get_option('customer_postquery'),
, который динамически восстанавливает все пользовательские типы записей, которые имеютбыла создана неприятная ситуация, где:
Cpt 1:
Cpt 2:
- сообщение с датой (10/4/2019)
заказ, который у меня есть,
03/10
10/10
08/10
и это не хорошо
как я могу это исправить?