Hello,
It’s true, there is not enough documentation explaining this feature. If there is a field called html, it will be displayed instead of the post content. It works on a per-post basis, so I think it’s not suitable for the purpose you need, to make a template for all blog posts.
Hmm..I’m trying to think of a good way to solve your situation. Currently, it’s not possible with this plugin to filter all blog posts displayed by the theme. It’s more suited for displaying the posts yourself, for example, in a page.
So, I see a couple possible solutions.
1) Create a page to use as the template. Inside the page, you can use the loop, content and field shortcodes to display posts how you want.
2) Get into the theme files to create/modify the template for posts. This would be a more technical solution, by copying/editing index.php and single.php.
If you want to make a “template” for a single post template, maybe this could help you. I do this as follow:
I created a custom post type “template” and a new (template) post named “single-gallery” (because I have a Gallery post type). I inserted the shortcodes I need in that post and saved it.
Then I inserted the following code in place of the default content/template fields in my template file “single-gallery.php” in the current theme folder:
<?php echo do_shortcode('[content type="template" name="single-gallery"]'); ?>
thats seems like exactly what im looking for, i tried using your code but the content disappeared and i can only see the header and footer of the theme in mi posts, could you show me how are you using this code in your single-gallery.php file? it would really help, thanks!
That’s a nice solution for creating templates, Peter, thanks for sharing your method.
So, laikmosh, as he said, this method requires that you create a custom post type called template, and a template post which will display all blog posts. You can have a template like this, for example:
<h1>[field title]</h1>
<h2>By [field author]</h2>
[content]
Then, in your single-post.php, you can replace the_content with the following:
echo do_shortcode('[content type="template" name="single-post"]');
Eliot, I have to thank you for this awesome plugin! This weekend I will make a donation and write a review…
laikmosh, if the theme you’re using has get_template_part( 'content', get_post_format() ); inside (your copy of) single.php, than you have to replace it with the code from content.php (if you don’t want to effect the shortcodes to al your single posts). Than look in the code for a div with a class like “entry-content” and replace all the code inside that div with echo do_shortcode('[content type="template" name="single-post"]');
IT WORKED!
simple as that, i didnt have to change a bit of your code, just pasted it and now it works, thank you guys, you really helped me out on this one.
I could do this so easly with your feedback:
http://www.elbedroom.mx/blog/guia-practica/sintesis-substractiva/