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 have a custom post type 'courses', with a course description as post_content, and number of attachments
  • I also have a custom post type 'course units', linked to the courses with a custom field 'course-id'

  • I created a template file for the course dashboard, showing a list of the units, and a couple of links - to the course description, and to an archive of the attachments.

My (pretty generic) question:

  • I'm stuck at how to create/implement the seperate 'pages' for the description, and the attachment archive - can't get my head around it.

Some additional info:

Any ideas / suggestions?

share|improve this question

2 Answers 2

up vote 1 down vote accepted

You may use template redirect action to check if there is parameter set for description and based on that you can show desired template.

<?php 

add_action('template_redirect', 'course_template_redirect', 1);

function course_template_redirect()
{
    global $wp_query;
    if($wp_query->post_type=='courses' and $_REQUEST['showdesc']=='1')
    {
        //include your template from your theme folder. for e.g include('mytheme/coursetemplate.php');

    }
}

?>
share|improve this answer
    
that seems like a perfect solution, thanks for pointing me to 'template_redirect', never heard of it. just one issue: for some reason, the original course template file (single-course.php) is appended after the closing body tag - I suppose I also have to 'exclude' this template file in some way - any idea how to to this? –  ptriek Apr 23 '13 at 13:06
    
Also - just for future reference - I had to change $wp_query->post_type to get_post_type() to make it work... –  ptriek Apr 23 '13 at 13:07
    
Already found the fix: just had to add exit() after the include, this prevents the original template from being loaded. –  ptriek Apr 23 '13 at 13:12

If the description and attachments require separate URLs then I would create the 'attachments' as a separate post type to the 'courses' which contain the description.

Then from your main custom post type 'courses' I would create reciprocal relationships from each course to its units and attachments using the Posts 2 Posts plugin.

share|improve this answer
    
Could be a good workaround indeed, thanks for the suggestion. I prefer the solution by Rajeev, however, it's a bit more elegant - no need for extra post types... –  ptriek Apr 23 '13 at 13:08

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.