How to include the latest post of a specific category on a matching page

I have a number of pages, and on each I would like to display the latest post from the category which matches that page.

So I have page 1, 2 and 3, and on page 1, I’d like the latest post from category A. 2 -> B, 3 -> C, and so on.

Read More

I have been trying to code this myself, but I can’t find a solid enough CMS resistant way of linking the page to the post category. Thus if someone changes the page, I’d lose the post.

I have found the plugin, http://wordpress.org/extend/plugins/list-category-posts/ which seems to do what I want, however adding a shortcode to my page, just displays the shortcode and doesn’t do anything. I assume this is because it supports WP 3.1.4 and I’m running 3.2.1.

Can I code this functionality myself, or will I need to create a link table in the database? I’d rather use the WP framework, but if I can’t crack this, I’ll just write a script to do it in plain old php and just include it, which I don’t want to do.

Related posts

Leave a Reply

1 comment

  1. I have managed to solve this problem by creating my own code.

    In my content-excerpt.php template part, I have included the following,

    if(!is_page('Home')){
    
        $page = get_page(get_the_ID());
        $custom = get_post_custom($page->ID);
        // I have added a custom field on the page, which contains the category id
    
        $custom_post = get_posts(array('numberposts'=>1, 'category'=>$custom['Category Link'][0], 'post_type'=>'post', 'post_status'=>'publish'));
        $post = $custom_post[0];
    }
    

    Which I can then use in the normal way, with things like the_title()

    Hope someone finds this handy.