Posted: June 19, 2014 at 5:42 pm
|
Hi guys, Is there some php code that I can use to list out an archive of all past events? |
|
Hi, Something like this could be used – https://gist.github.com/joshfeck/e3c9540cd4ccc734e755 You would need to change show_expired to true. You would probably want to not show future events. There isn’t a setting for this, but it can be done with the wp_query itself, some thing like this_ <ul class="events"> <?php $atts = array( 'title' => NULL, 'limit' => 100, 'css_class' => NULL, 'show_expired' => TRUE, 'month' => NULL, 'category_slug' => NULL, 'order_by' => 'start_date', 'sort' => 'DESC' ); // run the query global $wp_query; $wp_query = new EE_Event_List_Query( $atts ); if (have_posts()) : while (have_posts()) : the_post(); $post = get_post( get_the_ID() ); $current_date = current_time( 'timestamp' ); $event_date = strtotime($post->DTT_EVT_start); if( $event_date > $current_date ) { continue; } //var_dump($post); ?> <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> <?php endwhile; else: ?> <li>No Upcoming Events</li> <?php endif; // now reset the query and postdata wp_reset_query(); wp_reset_postdata(); ?> </ul> Note that this is purely an example, you may need to tweak it to make it work for your individual use case. |
|
Thanks so much. I have a similar question. My client would like to show upcoming events for a particular category in the sidebar. And this would change from page to page. If they go to the wordpress page “Dinners”, the sidebar should list all upcoming events under the dinners category. If the user goes to the “Meetings” page, the sidebar should list all upcoming events under the meetings category. Is there some php code that I can use to just list the upcoming events for a particular category? Thanks again for all the help. |
|
Ill actually use what you’ve provided, thanks so much. |
|
Is there a reason I can’t access the venue, desc and short_desc within $post? Example: But what if I want to display [_EVT_desc:protected] => Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce tincidunt bibendum ligula nec auctor. Morbi vitae neque varius, rutrum tellus in. Also, all I can find for “Venue” within the $post dump is [_Venue:protected]=>. If i can get the Venue and Event desc within this sidebar I will be good to go. |
|
I see that I can you post_excerpt for a short description. That will work. Just let me know if there’s any way I can get the venue in there. Thanks. |
|
Hi, But what if I want to display [_EVT_desc:protected] => I assume you are trying to display the Event description? If so use: <?php the_content(); ?> Doing a var_dump/print_r on $post will reveal a lot of data as well. I will have to get back to you on the venue aspect. |
Hi Eddie, I’m Event Espresso’s lead dev. We’ve integrated the Kint debugging tool into Event Espresso, so anywhere you want to get a better look at an object (or array, or string, or whatever), you can simply add something like: global $post; d( $post ); into your code, and it will output all kinds of wondrous information. So if you were to add the above anywhere inside the “loop”, and take a look at one of the EE Event post objects, you will see that we have attached all of the event data to the WP post object, but we have ALSO attached our EE_Event Custom Post Type (CPT) object to it as well. to get a better look at the EE CPT object, you could change the above to this: global $post; d( $post->EE_Event ); Notice that in the Kint output (click the + sign to expand the container) there is a tab named “Available Methods” (http://awesomescreenshot.com/00931ch406) ? One of those methods is “venues()” (http://awesomescreenshot.com/04c31chd29) so calling: global $post; $venues = $post->EE_Event->venues(); will give you an array of any related venues that belong to the event. Now run d( $venues ); to see everything you can do with Venues (you’ll have to dig into that array of course). Keep in mind that it’s always a wise idea to test the object you have before attempting to run methods on it, so do something like this first: global $post; if ( $post->EE_Event instanceof EE_Event ) { $venues = $post->EE_Event->venues(); d( $venues ); } That should keep you out of trouble for a while! |
|
The support post ‘PHP Snippet for listing out event archive?’ is closed to new replies.
Have a question about this support post? Create a new support post in our support forums and include a link to this existing support post so we can help you.