I want to post order by date, how is this possible?
// events post type
function events_post_type() {
$labels = array(
'name' => _x( 'events', 'Post Type General Name', 'text_domain' ),
'singular_name' => _x( 'events', 'Post Type Singular Name', 'text_domain' ),
'menu_name' => __( 'eve`enter code here`nts', 'text_domain' ),
'name_admin_bar' => __( 'events', 'text_domain' ),
'archives' => __( 'Item Archives', 'text_domain' ),
'attributes' => __( 'Item Attributes', 'text_domain' ),
'parent_item_colon' => __( 'Parent Item:', 'text_domain' ),
'all_items' => __( 'All Items', 'text_domain' ),
'add_new_item' => __( 'Add New Item', 'text_domain' ),
'add_new' => __( 'Add New', 'text_domain' ),
'new_item' => __( 'New Item', 'text_domain' ),
'edit_item' => __( 'Edit Item', 'text_domain' ),
'update_item' => __( 'Update Item', 'text_domain' ),
'view_item' => __( 'View Item', 'text_domain' ),
'view_items' => __( 'View Items', 'text_domain' ),
'search_items' => __( 'Search Item', 'text_domain' ),
'not_found' => __( 'Not found', 'text_domain' ),
'not_found_in_trash' => __( 'Not found in Trash', 'text_domain' ),
'featured_image' => __( 'Featured Image', 'text_domain' ),
'set_featured_image' => __( 'Set featured image', 'text_domain' ),
'remove_featured_image' => __( 'Remove featured image', 'text_domain' ),
'use_featured_image' => __( 'Use as featured image', 'text_domain' ),
'insert_into_item' => __( 'Insert into item', 'text_domain' ),
'uploaded_to_this_item' => __( 'Uploaded to this item', 'text_domain' ),
'items_list' => __( 'Items list', 'text_domain' ),
'items_list_navigation' => __( 'Items list navigation', 'text_domain' ),
'filter_items_list' => __( 'Filter items list', 'text_domain' ),
);
$args = array(
'label' => __( 'events', 'text_domain' ),
'description' => __( 'events Description', 'text_domain' ),
'labels' => $labels,
'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments', 'post-formats', 'custom-fields' ),
'taxonomies' => array( ),
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'menu_position' => 5,
'show_in_admin_bar' => true,
'show_in_nav_menus' => true,
'can_export' => true,
'has_archive' => false,
'exclude_from_search' => false,
'publicly_queryable' => true,
'capability_type' => 'page',
);
register_post_type( 'events', $args );
}
add_action( 'init', 'events_post_type', 0 );
// create shortcode with parameters so that the user can define what's queried - default is to list all blog posts
add_shortcode( 'events', 'events_list' );
function events_list( $atts ) {
ob_start();
$today = date( 'Y-m-d' );
// define attributes and their defaults
extract( shortcode_atts( array (
'posttype' => 'events',
'orderby' => 'date',
'order' => 'ASC',
'posts' => -1,
'events_category' => '',
'type' => '',
), $atts ) );
// define query parameters based on attributes
$options = array(
'post_type' => $posttype,
'orderby' => $orderby,
'order' => $order,
'posts_per_page' => $posts,
'events_category' => $events_category,
'type' => $type,
'date_query' => array(
//set date ranges with strings!
$type => 'today',
//allow exact matches to be returned
'inclusive' => true,
),
);
$query = new WP_Query( $options );
// run the loop based on the query
if ( $query->have_posts() ):
$count = $query->post_count;
$post_counter = 1;
$count_num = 3;
?>
<div class="events row">
<?php
while ( $query->have_posts() ): $query->the_post();
$imgID = get_post_thumbnail_id($post->ID);
$featuredImage = wp_get_attachment_image_src($imgID, 'full' );
$imgURL = $featuredImage[0];
$date = get_field('event_date',false,false);
$date = new DateTime($date);
$post_date = get_field('event_date');
?>
<div class="col-md-4">
<div class="events-wrapper">
<div class="events-image"><img src="<?php the_post_thumbnail_url(); ?>" alt="<?php the_title(); ?>"></div>
<div class="events-title"><?php the_title();?></div>
<div class="event-date"><?php echo $date->format('j M Y'); ?></div>
<div class="event-time"><?php the_field('event_time'); ?></div>
<div class="event-location"><?php the_field('event_location'); ?></div>
</div>
</div>
<?php
endwhile;
wp_reset_postdata();
?>
</div>
<?php
endif;
$myvariable = ob_get_clean();
return $myvariable;
}
Comments
Post a Comment