Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

I'm not sure I'm allowed to ask a question like this on this forum, however I'll try. My question is not yet about a technical problem but how my complete theme-architecture might be build to fit my purpose.

My site is mainly about upcoming events - e.g. like lectures and workshops.

I'd like to list all upcoming lectures and workshops on my frontpage with a little description (might be the_excerpt). When clicking on a date (e.g. workshop) I want to see the complete description of the event.

I have absolutely no idea if it's even possible to do this kind of thing with "posts" - upcoming dates?

If it's possible I thought of handling "workshops" and "lectures" as categories so I'm also possible to sort by category or display an entire page with only all lectures or all workshops.

Moreover I'd like to be able to do another thing - reviews of an event.

So imagine a date (lecture or workshop) is over I still want to display the event in an "archive" or something where I can add a review with photos and a description of the event to the date itself.

How could I handle this thing with wordpress - I'm usually pretty good when it comes to programm this theme, I just don't know how to create this architecture with wordpress in the first place!

Thank you in advance.

edit: If it's not possible with wordpress alone do you guys know a plugin that handles stuff like that?

Update:

add_action("admin_init", "admin_init");

function admin_init(){
    add_meta_box("date_of_event-meta", "Date of Event", "date_of_event", "events", "side", "low");
}

function date_of_event() {
    global $post;
    $custom = get_post_custom($post->ID);
    $date_of_event = $custom["date_of_event"][0];
    ?>
    <label>Date of Event:</label>
    <input name="date_of_event" value="<?php echo $date_of_event; ?>" />
    <?php
}
share|improve this question
add comment

1 Answer

up vote 1 down vote accepted

I would do this with a custom post type, probably "Events" in your case, custom (probably hierarchical) taxonomy, and custom postmeta. You can register the post type with only the capabilities you need, then extend those capabilities with custom metaboxes for the custom postmeta. This custom meta is going to be your event date/time, don't use postdate for that, as it creates odd content display issues. The custom taxonomy is to allow you to differentiate lectures, workshops, and any other event types you might have. This taxonomy should only be applied to the new custom post type.

share|improve this answer
    
To do sorting, you can query with meta_query from the WP_Query class. You will need to store your date as a unix timestamp so that they're easily queriable and sortable, and it's easy to turn them back to human readable data. Also, you will not be doing postmeta in the template, you'll be doing that with metaboxes (see add_meta_box()) on the edit post screen. Does that clear things up for you? –  m0r7if3r Apr 8 '12 at 13:14
    
Thank you very much. Now I think I got it! Only last question I have is how I do this unix-timestamp date stuff? I updated my question with some sample code. I now have a simple input field to enter a date. How could I solve this so I have a kind of date-picker (like the one for the postdate itself) and this date is getting saved and is easily queriable and sortable like you describe it? Thank you for your awesome help so far. –  mathiregister Apr 8 '12 at 15:34
    
Moreover, the absolutely last question… do you have any idea how I could do this kind of "recaps" for my events? So when an event is over I want to maybe blur it with css or display it in an archive. I want to add a "recap-post" with photos and description of each event afterwards. Any idea how I could solve that? –  mathiregister Apr 8 '12 at 15:38
    
You could use custom postmeta for that and set it to only display once the event is over with something like if( date('U') > date('U', $event_time_postmeta ) ) –  m0r7if3r Apr 8 '12 at 22:32
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.