Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Using Yoast, "Make Primary Category" for Custom Taxonomies
<?php
Fill in your custom taxonomy here
$yourTaxonomy = 'CUSTOM_TAXONOMY';
// SHOW YOAST PRIMARY CATEGORY, OR FIRST CATEGORY
$category = get_the_terms( $postId, $yourTaxonomy );
$useCatLink = true;
// If post has a category assigned.
if ($category){
$category_display = '';
$category_link = '';
if ( class_exists('WPSEO_Primary_Term') )
{
// Show the post's 'Primary' category, if this Yoast feature is available, & one is set
$wpseo_primary_term = new WPSEO_Primary_Term( 'event_cat', get_the_id() );
$wpseo_primary_term = $wpseo_primary_term->get_primary_term();
$term = get_term( $wpseo_primary_term );
if (is_wp_error($term)) {
// Default to first category (not Yoast) if an error is returned
$category_display = $category[0]->name;
$category_link = get_bloginfo('url') . '/' . 'event-category/' . $term->slug;
} else {
// Yoast Primary category
$category_display = $term->name;
$category_link = get_term_link( $term->term_id );
}
}
else {
// Default, display the first category in WP's list of assigned categories
$category_display = $category[0]->name;
$category_link = get_term_link( $category[0]->term_id );
}
// Display category
if ( !empty($category_display) ){
if ( $useCatLink == true && !empty($category_link) ){
echo '<span class="post-category">';
echo '<a href="'.$category_link.'">'.$category_display.'</a>';
echo '</span>';
} else {
echo '<span class="post-category">'.$category_display.'</span>';
}
}
}
@jmslbam

This comment has been minimized.

Copy link

jmslbam commented Jun 13, 2017

I suggest you add proper PHP comment before

// Fill in your custom taxonomy here
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.