Ich habe mir folgende einfach Eventverwaltung erstellt.
Wie lautet der Code, um das Datum im Deutschen Format abzuspeichern?
PHP
<?php
/*
Plugin Name: My Events
Description: Einfache Benutzerdefiniert Post Typen My Event anlegen und verwalten
Author: Matthias
Version: 0.0.1
Author URI: http://www.wandernimsaaletal.de
*/
/* Copyright 2014 Matthias Reichert
*/
add_action('init', 'event_register');
function event_register() {
$labels = array(
'name' => _x('Events', 'post type general name'),
'singular_name' => _x('Event', 'post type singular name'),
'add_new' => _x('Add New', 'event'),
'add_new_item' => __('Add New Event'),
'edit_item' => __('Edit Event'),
'new_item' => __('New Event'),
'view_item' => __('View Event'),
'search_items' => __('Search Events'),
'not_found' => __('Nothing found'),
'not_found_in_trash' => __('Nothing found in Trash'),
'parent_item_colon' => ''
);
$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'query_var' => true,
'rewrite' => true,
'capability_type' => 'post',
'hierarchical' => false,
'menu_position' => null,
'supports' => array('title','editor','thumbnail',)
);
register_post_type( 'events' , $args );
}
// Spalten hinzufügen
add_action("manage_posts_custom_column", "events_custom_columns");
add_filter("manage_events_posts_columns", "events_edit_columns");
function events_edit_columns($columns){
$columns = array(
"cb" => "<input type=\"checkbox\" />",
"title" => "Event",
"event_date" => "Event Date",
"event_location" => "Location",
"event_city" => "City",
);
return $columns;
}
function events_custom_columns($column){
global $post;
$custom = get_post_custom();
switch ($column) {
case "event_date":
echo format_date($custom["event_date"][0]) . '<br /><em>' .
$custom["event_start_time"][0] . ' - ' .
$custom["event_end_time"][0] . '</em>';
break;
case "event_location":
echo $custom["event_location"][0];
break;
case "event_city":
echo $custom["event_city"][0];
break;
}
}
// Einträge sortieren
add_filter("manage_edit-events_sortable_columns", "event_date_column_register_sortable");
add_filter("request", "event_date_column_orderby" );
function event_date_column_register_sortable( $columns ) {
$columns['event_date'] = 'event_date';
return $columns;
}
function event_date_column_orderby( $vars ) {
if ( isset( $vars['orderby'] ) && 'event_date' == $vars['orderby'] ) {
$vars = array_merge( $vars, array(
'meta_key' => 'event_date',
'orderby' => 'meta_value_num'
) );
}
return $vars;
}
// Meta Box für die Details
add_action("admin_init", "events_admin_init");
function events_admin_init(){
add_meta_box("event_meta", "Event Details", "event_details_meta", "events", "normal", "default");
}
// Datunsformat
function get_default_date_format() {
return 'Y-m-d H:i:s';
}
function event_details_meta() {
//Das post-Objekt einlesen
global $post;
//Metadaten des Posts ermitteln (falls Event bearbeitet wird,
//sollen sofort die gespeicherten Werte angezeigt werden!)
echo '<div class="meta_box_work">';
echo'<label><span>An welchem Datum und zu welcher Zeit beginnt die Veranstaltung.</span></label>';
echo '<p><label><b>Datum:</b><label>';
echo '<input type="text" name="event_date" value="' . get_event_field("event_date") . '" /> <em> Format:YYYY.dd.mm</em> ';
// event_start_time
echo '</p><p><label>Start: </label><input type="text" name="event_start_time" value="' . get_event_field("event_start_time") . '" /><em>(hh:mm) oder (00:00)</em></p>';
// event_end_time
echo '<p><label>End Time: </label><input type="text" name="event_end_time" value="' . get_event_field("event_end_time") . '" /> <em>((hh:mm) oder (00:00))</em> </p>';
// event_location
echo '<p><label>Location: </label><input type="text" size="70" name="event_location" value="' . get_event_field("event_location") . '" /></p>';
// event_location_url
echo '<p><label>Location URL: </label><input type="text" size="70" name="event_location_url" value="' . get_event_field("event_location_url") . '" /></p>';
echo '</div>';
}
// Daten holen wenn vorhanden
function get_event_field($event_field) {
global $post;
$custom = get_post_custom($post->ID);
if (isset($custom[$event_field])) {
return $custom[$event_field][0];
}
}
// Daten speichern
add_action('save_post', 'save_event_details');
function save_event_details(){
global $post;
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE )
return;
if ( get_post_type($post) == 'event')
return;
save_event_field("event_date");
save_event_field("event_start_time");
save_event_field("event_end_time");
save_event_field("event_location");
save_event_field("event_location_url");
}
function save_event_field($event_field) {
global $post;
if(isset($_POST[$event_field])) {
update_post_meta($post->ID, $event_field, $_POST[$event_field]);
}
}
// Shortcode Ausgabe
//[myevents]
function get_events_shortcode($atts){
global $post;
$args = array(
'post_type' => 'events', // enter your custom post type
'orderby' => 'menu_order',
'order' => 'ASC',
'posts_per_page'=> '2', // overrides posts per page in theme settings
'paged' => $paged, // Pagination page
);
$loop = new WP_Query( $args );
if( $loop->have_posts() ):
echo '<h3> <u> Aktuelle Wandertermine: </u></h3>';
while( $loop->have_posts() ): $loop->the_post();
//the_post();
$titel = the_title( '<b><u>', '</u></b>' );
$my_eventdate = get_post_meta( get_the_ID(), 'event_date', true );
$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 );
echo '<section class="event_container past">';
echo ''.$titel.' <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' );
?>
Alles anzeigen