WordPress.org

Ready to get started?Download WordPress

Forums

List category posts
[resolved] Template system: how to add a 'read more' link to each post? (15 posts)

  1. fanchrobin777
    Member
    Posted 2 years ago #

    Hi,
    Thanks for this plugin it's great. I'm using it to display the first post of several categories on my homepage. Each post styled differently. I'd like to display a 'read more' link under the post excerpt.
    I tried some code using the get_permalink function, but it doesn't work. I would need the right syntax of code...
    Thank you for your help !

    http://wordpress.org/extend/plugins/list-category-posts/

  2. fanchrobin777
    Member
    Posted 2 years ago #

    OK if anybody's interested, it's :
    $lcp_display_output .= '<a href="' . get_permalink($single->ID).'">Read more</a>';

  3. anita@joli.com.au
    Member
    Posted 2 years ago #

    thanks - just what I was looking for.

  4. suddensway
    Member
    Posted 2 years ago #

    Hi, I was looking for this too, but could someone please tell me where to put this script in order to make the thing work.

    many thanks

  5. fanchrobin777
    Member
    Posted 2 years ago #

    Hi, you have to put it in a template. See template system in 'other notes' section of the plugin page. A template is a php file that tells the plugin how to list your posts. For example, you choose to display title, excerpt, featured image and a 'read more' link for each post.
    1. Create a folder named list-category-posts in your theme folder.
    2. Create a php file named myownpostlist.php inside this folder
    3. Add this code :

    <?php
    $lcp_display_output = '';
    $lcp_display_output .= '<ul>';
    foreach ($this->catlist->get_categories_posts() as $single):
    $lcp_display_output .= '<li>';
    $lcp_display_output .= '<h1>'.$this->get_post_title($single).'<h1>';
    $lcp_display_output .= $this->get_thumbnail($single);
    $lcp_display_output .= $this->get_excerpt($single, 'p', 'your p style');
    $lcp_display_output .= '<br /><a href="'.get_permalink($single->ID).'">Read more</a>';
    $lcp_display_output .= '</li>';
    endforeach;
    $lcp_display_output .= '</ul>';
    $this->lcp_output = $lcp_display_output;
    ?>

    Of course you can style each element by adding class parameters relating to your CSS, etc.
    Then in the page where you want to display your post list, just add the shortcode which must contain the call to the template file like this :
    [catlist id=your-cat-id template=myownpostlist]
    Good luck.

  6. suddensway
    Member
    Posted 2 years ago #

    I really appreciate your help with this.

    I followed your instructions but can't get the 'Read more' link to display unfortunately.

    I created the folder and php doc with the above code. I wasn't sure where to put so have tried in the themes folder but when that didn't work tried putting the php doc in the plug ins folder where the list-category-posts folder already exists.

    I tried the shortcode [catlist id=4 template=myownpostlist] as well incorporating into a more detailed version I'd already created:
    [catlist id=4 template=myownpostlist date=yes date_tag=span date_class=lcp_date excerpt=yes excerpt_size=180 excerpt_tag=p excerpt_class=lcp_excerpt numberposts=12 ]

    I just get an error on the page where the list of posts should be yet it works fine without thetemplate=myownpostlist bit :

    $lcp_display_output = ''; $lcp_display_output .= '
    '; foreach ($this->catlist->get_categories_posts() as $single): $lcp_display_output .= '
    '; $lcp_display_output .= ''; endforeach; $lcp_display_output .= '
    '; $this->lcp_output = $lcp_display_output;

    This is the url if it's any use:
    http://www.caribbeansailingschool.net/

    The theme is Cushy by Woo Themes.

    Any further help that could get this working would be very much welcome!

    many thanks again

  7. fanchrobin777
    Member
    Posted 2 years ago #

    OK then :

    1. Your template MUST be placed in a folder named list-category-posts inside your theme folder, as the plugin will look after the template file in this location and nowhere else. I guess for you it's :
    http://www.caribbeansailingschool.net/wp-content/themes/cushy/list-category-posts/myownpostlist.php

    2. The error probably comes from the fact that you should not close the php tag (my error):

    <?php
    $lcp_display_output = '';
    $lcp_display_output .= '<ul>';
    foreach ($this->catlist->get_categories_posts() as $single):
    $lcp_display_output .= '<li>';
    $lcp_display_output .= '<h1>'.$this->get_post_title($single).'</h1>';
    $lcp_display_output .= $this->get_thumbnail($single);
    $lcp_display_output .= $this->get_excerpt($single, 'p', 'your p style');
    $lcp_display_output .= '<br /><a href="'.get_permalink($single->ID).'">Read more</a>';
    $lcp_display_output .= '</li>';
    endforeach;
    $lcp_display_output .= '</ul>';
    $this->lcp_output = $lcp_display_output;

    See above : the last ?> is not here anymore. (Close the <h1> tag too if you do use it, as I have made the mistake in my previous message : $lcp_display_output .= '<h1>'.$this->get_post_title($single).'</h1>';)
    Try this.

    3. When adding the shortcode to your page, you should not add additional parameters that override the functions you have defined in your template. For example, if you write in your template

    $lcp_display_output .= $this->get_excerpt($single);
    you do not have to add excerpt=yes
    into the shortcode syntax.

    Hope it helps.

  8. suddensway
    Member
    Posted 2 years ago #

    Thank you - I found this very helpful and after some playing around with the code I managed to get there. I even learnt a bit of php along the way!

    Your help was much appreciated.

  9. francojoint
    Member
    Posted 1 year ago #

    @suddensway: Hi, I was looking for a way to get a nice thumbnail shown together with post excerpts and I noticed you have exactly what I'm looking for in your students' feedback list posts on your webpage http://www.caribbeansailingschool.net/ I would really like to ask you how you did that cause I have no idea where to start. When I add thumbnail to my list category post shortcode it shows something like this: http://serviziovolontarioeuropeo.it/prova/
    Thanks!

  10. fernandobt
    Member
    Plugin Author

    Posted 1 year ago #

    I added this functionality on version 0.28. Just add the param "posts_morelink":

    posts_morelink - Include a "read more" link after each post. It receives a string of characters as a parameter which will be used as the text of the link. Example: [catlist id=38 posts_morelink="Read more about this post"]

    Please let me know how it works out for you :)

    Thanks for the request!
    Regards,

  11. francojoint
    Member
    Posted 1 year ago #

    Thank you! In the meanwhile I edited my own template so I worked it out in another way, but it's good to know for the future!

  12. SweetKiller
    Member
    Posted 1 year ago #

    Hi, how to add link to category where post is? for each post?

    thanks

  13. fernandobt
    Member
    Plugin Author

    Posted 1 year ago #

    SweetKiller there's no way to show the category link for EACH post, only for each list, check the catlink parameter.

  14. SweetKiller
    Member
    Posted 1 year ago #

    plugin does not supported this function or it is not possible?

  15. francojoint
    Member
    Posted 1 year ago #

    Thanks picandocodigo! I actually did it applying CSS class alignleft to thumbnail.

Topic Closed

This topic has been closed to new replies.

About this Plugin

About this Topic