Я добавляю новое редактирование, пожалуйста, смотрите :) спасибо!
ствуйте, у меня есть foreach, где я получаю данные о событиях в базе данных, я использую для даты одно имя в базе данных, например, event_date. Мне нужно сравнить действие с той же датой и выводом в одном div.
Например, у меня есть эти события.
Событие первое - 13 сентября
Событие два - 01 сентября
Событие третье - 13 сентября
Вывод мне нужен
<div class="event_head">
<span>Event one</span>
<span>13 Sep</span>
<br/>
<span>Event three</span>
<span>13 Sep</span>
</div>
Это условие в foreach
if($date == $date){
?>
<div class="event_head">
<span><?php echo $name_event?></span>
<span><?php echo $date;?></span>
<br/>
</div>
<?php
}else{
echo $date;
}
?>
Это не работает, каким-то образом, как это сравнить таким образом?
Спасибо (простите за мой английский)
РЕДАКТИРОВАТЬ: Я использую ACF Pro версии, и мне нужно, чтобы один и тот же вывод событий в одном div и создать нечто вроде календаря Так вот настоящий код
<?php
$posts = get_posts(array(
'post_type' => array('town1_event', 'town2_event'),
'meta_key' => 'datum_eventu',
'orderby' => 'meta_value_num',
'order' => 'ASC'
));
if( $posts ) {
foreach( $posts as $post ) {
//$datum = get_field("datum_eventu");
//$nazev = get_field("nazev_eventu");
$date = get_field('datum_eventu', false, false);
$date = new DateTime($date);
//echo $date->format('j M');
//echo $date->format('j M Y')
//echo $datum;
?>
<?php
if($date->format('jM') == $date->format('jM')){
?>
<div class="calendar_head">
<span><?php echo $nazev?></span><br/>
<span><?php echo $date->format('jM');?></span>
</div>
<?php
}else{
echo "<br/>";
echo $datum;
}
}
wp_reset_postdata();
}
?>
EDIT2: Окончательный вывод
22 JUL | 25 JUL
EVENT 1 EVENT 2 | EVENT 3
EDIT3 (решено):
$the_query = new WP_Query( array(
'post_type' => array('town1_event','town2_event'),
'post_status' => 'publish',
'meta_key' => 'datum_eventu',
'orderby' => 'meta_value_num',
'order' => 'ASC'
) );
# This will hold what group we're in
$current_header = '';
# The Loop
while ( $the_query->have_posts() ) :
$the_query->the_post();
# get the datum for this post
$temp_date = get_post_meta( get_the_ID(), 'datum_eventu', true );
# If they aren't the same, we'll start a new group, which for now
# just means setting a new heading
if ( $temp_date != $current_header ) {
$current_header = $temp_date;
$old_date = date($current_header);
$old_date_timestamp = strtotime($old_date);
$new_date = date('d. M', $old_date_timestamp);
echo "<h2>$new_date</h2>";
}
$nazev = get_field("nazev_eventu");
echo $nazev;
echo "<br/>";
# ... do normal loop stuff here
endwhile;
Я нашел это решение на другой странице от Мэтью Бойнса :)