Skip to content

ENGINEERING LEADER

WordPress Developer

Speaker & Teacher

Unapologetic Punk

Mitch Canter

  • Threads
  • Instagram
  • Bluesky
  • LinkedIn
  • GitHub
  • YouTube
Tutorial

Checking for A Specific Post Type in WordPress

Mitch Canter

•

Reading time: 2 minutes

Conditional Tags are one of my all-time favorite tools to use when developing a WordPress theme.  It’s an intelligent use of programming logic that allows even non-coders to grasp the basics and, in turn, create complex and functional WordPress themes.  With the advent of custom post types, a method was needed to check for the presence of a certain post type, and display the data appropriately.  There’s not a true conditional tag, in the sense you fill in a parameter of a function and it works.  Instead, you have to use a separate function value and test for a match.  In English, here’s how to check for a specific post type:

[code]

<?php if ( ‘book’ == get_post_type() ) {

//code goes here for book-type content

} ?>

[/code]

If you need to display an either/or content string, the code doesn’t change much:

[code]

<?php if ( ‘book’ == get_post_type() ) {

//code goes here for book-type content

} else {

//code goes here for all non book-type content

} ?>

[/code]

A good example of this would be my portfolio page.  If both the portfolio post type and my normal blog posts were sharing a template, but I needed to add a Pinterest Button to my portfolio, but not to my blog posts, it may look something like this:

[code]

<?php if ( ‘portfolio’ == get_post_type() ) { ?>

<a href=”http://pinterest.com/pin/create/button/?url=<?php echo urlencode(get_permalink($post->ID)); ?>&media=<?php echo $pinterestimage[0]; ?>&description=<?php the_title(); ?>” count-layout=”horizontal”>Pin It</a>

<?php } ?>

[/code]

The only problem is there’s no way to use the bang symbol in front (like a typical post type) to show that it is NOT the value specified.  Instead, we have to change the operator from “Equals” to “Does Not Equal”, like so:

[code]

<?php if ( ‘book’ != get_post_type() ) {

//code goes here for non book-type content

} ?>

[/code]

So, more than a few snippits to get you showcasing your post-type specific data quickly and easily.

conditional tag, custom post type, get_post_type, WordPress
  • 50 Days to a Better WordPress Blog-Day 2: Caching

    50 Days to a Better WordPress Blog-Day 2: Caching

    Reading time: 2 minutes

    I want to cover a lot of different topics during this series, and one that seems to be drilled into people’s heads is the idea that they should be doing things to “make their page load faster”. There are a few good solutions, but the one I recommend the most is to find a good…

    WordPress
  • WordPress 4.1 Release Candidate Available

    WordPress 4.1 Release Candidate Available

    Reading time: 1 minute

    Just in time for Christmas, the amazing WordPress contribution team is getting geared up to release WordPress 4.1 on December 16. Right now, we can settle for the “WordPress 4.1 Release Candidate” In case you missed it, here’s what to expect from WordPress 4.1: A new theme, Twenty Fifteen. It’s more blog focused, and is very…

    WordPress
  • Home
  • About
  • Speaking
  • Articles
  • Contact