Skip to content
  • Home
  • About Mitch
  • Speaking
  • Articles
  • Contact
  • Home
  • About Mitch
  • Speaking
  • Articles
  • Contact

Digital Strategist

WordPress Developer

Content Creator

Unapologetic Punk

Mitch Canter

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

Checking for A Specific Post Type in WordPress

CMDR Mitchcraft

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
  • BlogInfo – One Tag with a Whole Lot of Awesomeness

    BlogInfo – One Tag with a Whole Lot of Awesomeness

    Reading time: 1 minute

    One of the most versitile tags in my arsenal that WordPress gives me is a fun little tag called <?php bloginfo(); ?>.  By itself, it’s not much fun, but when you add in a variable, it can tell you anything you need to know about your blog.  Like what, you ask? name description admin_email url…

    WordPress
  • Using Hyperlinks Correctly in WordPress

    Using Hyperlinks Correctly in WordPress

    Reading time: 2 minutes

    Any good content marketer worth his or her salt knows the value of using links in their content. It’s a good strategy to practice – whether you’re linking internally to content you’ve written in the past or to external resources you mention in posts.  However, a lot of people overlook a small, single detail that could…

    WordPress