• Home
  • About Mitch
  • Speaking
  • Articles
  • Contact
  • Home
  • About Mitch
  • Speaking
  • Articles
  • Contact

Digital Strategist

WordPress Developer

Content Creator

Unapologetic Punk

Mitch Canter

  • X
  • Bluesky
  • GitHub
  • Twitch
  • YouTube
  • LinkedIn
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
  • Foursquare vs. Gowalla… annnnnd fight!

    Foursquare vs. Gowalla… annnnnd fight!

    Reading time: 5 minutes

    <script type=”text/javascript”>function initMenus() {    $(‘ul#accordion li ul’).hide();    $.each($(‘ul#accordion’), function(){        $(‘#’ + this.id + ‘.expandfirst ul:first’).show();    });    $(‘ul#accordion li h2.widgettitle’).click(        function() {            var checkElement = $(this).next();            var parent = this.parentNode.parentNode.id;             if($(‘#’ + parent).hasClass(‘noaccordion’)) {                $(this).next().slideToggle(‘normal’);                return false;            }            if((checkElement.is(‘ul’)) && (checkElement.is(‘:visible’))) {                if($(‘#’ + parent).hasClass(‘collapsible’)) {                    $(‘#’ + parent + ‘ ul:visible’).slideUp(‘normal’);                }                return false;           …

    Tutorial, WordPress
  • How to Update WordPress Themes and Plugins on WPEngine (Without the Repository)

    How to Update WordPress Themes and Plugins on WPEngine (Without the Repository)

    Reading time: 5 minutes

    Skip to the Tutorial My head is full and my heart is sad tonight. Thousands of WordPress users are left in a strange scenario today as Matt Mullenweg, Automattic’s CEO and founder, pulled access to the WordPress Repository for thousands of users on WPEngine. WPEngine is officially cut off from all updates – plugins, themes,…

    WordPress