Ich habe ein Custom Post Typ für Events erstellt.
Nun möchte ich die nächsten aktuellen Events anzeigen lassen.
Er zeigt mir alle Einträge an, die auch älter sind als heute.
Währe schön, wenn mir jemand Helfen kann.
PHP
// Veranstaltungen ausgeben mit Shortcode
function get_events_shortcode($atts){
global $post;
$today = date('d.m.Y', strtotime('-6 hours'));
// Events nach Datum Sortieren
$args1 = array(
"post_type" => 'events',
'meta_key' => 'event_date', // name of custom field Format
'orderby' => 'meta_value',
"order" => 'ASC',
"posts_per_page" => 5,
'meta_query' => array(
array(
'key' => 'event_date',
'value' => $today,
'compare' => '<=',
)
),
);
$loop = new WP_Query( $args1 );
if( $loop->have_posts() ):
echo '<h3> <u> Aktuelle Wandertermine: </u></h3>';
while( $loop->have_posts() ): $loop->the_post();
//$titel = the_title( '<b><u>', '</u></b>' );
$my_title = get_the_title();
$my_content1 = get_post_meta( get_the_ID(), 'event_start_time', true );
$my_content2 = get_post_meta( get_the_ID(), 'event_end_time', true );
$my_content3 = get_post_meta( get_the_ID(), 'event_location', true );
$my_content4 = get_post_meta( get_the_ID(), 'event_start_time', true );
$my_eventdesc = get_post_meta( get_the_ID(), 'event_desc', true );
// Datumsformat ändern auf Deutsches Format
$custom_date = get_post_meta( get_the_ID(), 'event_date', true );
$my_eventdate = date('d.m.Y',strtotime($custom_date));
$heute = date('d.m.Y');
$titel_link = '<a href='.esc_url( get_permalink( get_the_ID() ) ).'>'.$my_title.'</a>';
// Daten anzeigen wenn diese nicht älter sind als heute
echo '<section class="event_container past">';
echo ''.$titel_link.' <br><em>'.$my_eventdesc.'</em> '.$details_link.' <br> <b>Wann:</b> '.$my_eventdate.' ';
echo '<b>Treffpunkt:</b> '.$my_content3 .',<br> <b>Start:</b> '.$my_content1.' - <b>Rückkehr:</b> '.$my_content2.' </p>';
echo '</section>';
endwhile;
endif;
wp_reset_query();
}
add_shortcode( 'events', 'get_events_shortcode' );
// Daten speichern
add_action('save_post', 'save_event_details');
function save_event_details(){
global $post;
$date = get_post_meta( $post_id, 'event_date', true );
$time = '00:00:00';
$date = date( 'm/d/Y', $date );
$timestamp = strtotime( $date . ' ' . $time );
save_event_field('event_date', $timestamp );
save_event_field("event_start_time");
save_event_field("event_end_time");
save_event_field("event_location");
save_event_field("event_location_url");
save_event_field("event_desc");
}
function save_event_field($event_field) {
global $post;
if(isset($_POST[$event_field])) {
update_post_meta($post->ID, $event_field, $_POST[$event_field]);
}
}
Alles anzeigen