Hey there,
I wonder if it’s possible to have different layouts for the single-content (posts) ?
I am trying to create a 2 colum layout for one specific category. One colum should be filled over custom fields, the with the content() .
Hey there,
I wonder if it’s possible to have different layouts for the single-content (posts) ?
I am trying to create a 2 colum layout for one specific category. One colum should be filled over custom fields, the with the content() .
Okay, I found a solution.
If you don’t want to rely on the plugin, change single.php to:
<?php get_template_part('templates/content-single', get_the_category()); ?>
This will then load templates/content-single-category-slug.php
if it exists.
Hi, this is a nice workaround, I’ve tried this solution with no success… guess it should be like this:
<?php $cat = get_the_category(); get_template_part('templates/content-single', $cat[0]->slug); ?>
Y think get_the_category() returns an array of categories (see get_the_category in docs).
Thanks for adding your code.
Most of what I post is off the top of my head; I don’t always get it right but it should provide a gentle shove in the right direction. In practice you’d also probably want to iterate over the categories rather than only match the first.
There are a couple of trac issues that would help this but they’re old, so I won’t be holding my breath!
Hi, if anyone needs to add a custom layout of a single post depending on the category you can use also a filter.
I found this code:
add_filter(‘single_template’, create_function(
‘$the_template’,
‘foreach( (array) get_the_category() as $cat ) {
if ( file_exists(TEMPLATEPATH . “/single-{$cat->slug}.php”) )
return TEMPLATEPATH . “/single-{$cat->slug}.php”; }
return $the_template;’ )
);
This is useful if you have sub categories and want to use parents slug on single-[catname].php
I don’t know if it has performance differences.
Thank you, I was looking a workaround for this.