Get Post

June 06, 2011

Get Post Plugin

Get Post adds a tag that allows you to retrieve and display the latest post identified by a specific set of parameters.

Get Post adds a tag that allows you to retrieve and display the latest post
identified by a specific set of parameters.

When this plugin is active, any post or page can contain the get-post markup
as follows:

[get-post tag=some-tag] 

This will be replaced with the latest post tagged with the given tag.

Parameters

The parameters control which posts are retrieved by get-post. Options can be
used in combination to build a list of criteria for post or posts to retrieve.
By mixing criteria, you can exert a lot of control over the post(s) which are
found by the plugin.

[get-post tag=some-tag random show=3] 

One note on WordPress in general: if you specify criteria that WordPress can’t
match, it will make something up. For instance, if you specify a tag or
category that doesn’t exist, it will simply retrieve the latest post with no
indication that anything is wrong. Take care to ensure that the options you
specify are what you intend.

Several of these parameters work best when specifying the slugs. For instance,
when specifying a tag it’s best to use the slug value rather than the full
name of the tag. To find the slug, see the admin panel -> posts -> post tags.
The slug is listed right on that page.

You may wish to specify an option value with a space in it. This is
accomplished with quotes:

[get-post option="a value with spaces"] 
  • tag:
    Specify a tag to search for. The tag’s slug should be specified.

    [get-post tag=some-tag] 
  • category:
    Specify a category to search for. The category’s slug should be specified.

    [get-post category=some-category] 
  • show:
    Specify the number of posts to show.

    [get-post show=5] 
  • template:
    Specify the template to use. This specification overrides the template set in
    the options panel of the admin interface. See the template section for more
    details on template tags. NOTE: If entering any HTML into this, please be
    sure to select the HTML editor rather than the visual editor.

    [get-post template="<h1>Title: {title}</h1>"] 
  • random:
    Select a random post from the matching criteria

    [get-post random] 
  • default:
    This isn’t really an option. By default, get-post displays the latest blog
    post.

    [get-post] 

Templates

Get-post ships with a default template that should render the usual post
details in a form that fits well with most themes. You can customize this
template to add or remove data from the included post. Additionally, you can
use the template parameter to the [get-post] tag to specify a one-off
template.

Using the show parameter will retrieve multiple posts. In this case, the
template will be repeated one time for each retrieved post.

These tags are replaced with the value from the retrieved post. For instance,
a template containing {title} will actually have the title of the retrieved
post, rather than the word title.

  • {title}:
    The title of the post.

  • {content}:
    The content of the post.

  • {author}:
    The author of the post.

  • {date}:
    The date the post was written.

  • {time}:
    The time the post was written.

  • {permalink}:
    A link to the post itself.

  • {authorlink}:
    A link to all posts by the post’s author.

  • {id}:
    The post’s ID number.

Examples

Indicate when your blog was last updated:

Blog last updated [get-post template="{date} at {time}."] 

Link to the latest post:

Check out my post: [get-post template="<a href='{permalink}'>{title}</a>"] 

How it works

This plugin does something a little bit unorthodox: It reenters “The
Loop”
while the post content is being rendered. Then, it calls
whatever WordPress internal functions will safely work, using raw data from
$post when these functions are unsafe to call again. People curious about the
internals should examine class-get-post-getter.php. The class is structured
to be reusable by any other GPL2 projects.

Installation

  1. Upload get-post.php to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Use the [get-post] markup in a post or page

Screenshots

  1. Example page showing get-post invoked three times - once to display some dates, once to show a link, and once with the default template.

    Example page showing get-post invoked three times - once to display some dates, once to show a link, and once with the default template.

Changelog

2.0.0 5-Jun-2011

  • Rewrite of internals. The option parser is a lot more powerful. The new
    design makes adding new options simpler.
  • Plugins that affect post content should be correctly rendered now.
  • To a very limited extent, you can use get-post recursively. (If you do,
    please email me a link or let me know what you’re doing with this.)
  • Adding several optional parameters to the parser tag – category, tag,
    random, show.
  • Switching to a template system rather than hard-coding the HTML for the post
    display.
  • Display errors when unknown parameters are specified.
  • Using the template option, users can output individual elements from posts
  • Plugin settings are now available in the admin panel. You can edit the
    template used for the tag to make it match your theme here.
  • Plugin can be uninstalled.

1.0.2 13-Jun-2009

  • Did not update the version number properly in 1.0.1. Oops.

1.0.1 13-Jun-2009

  • Fixed issue where comments and other post data bled over into the “getter”
    from the “gotten” post.

1.0.0 25-Nov-2008

  • Initial release

Details

  • Version: 2.0.0
  • Active installations: 200
  • WordPress Version: 3.0
  • Tested up to: 3.1.4

Ratings


5 Stars
4 Stars
3 Stars
2 Stars
1 Stars