Мне нужно показать только основную категорию (функция, добавленная по умолчанию из YOAST) для пользовательской таксономии в моем шаблоне (wordpress).Таксономия взята из пользовательской "course_category" в плагине Learnpress.Это таксономия, которая добавляет категории в курсы, созданные плагином.
Я хотел бы создать функцию, которая будет вызывать ее в моих циклах, но я не знаю, как правильно написать ее для пользовательских таксономий..
Я обнаружил, что этот код используется для стандартных категорий (НЕ ДЛЯ ТАМОЖЕННЫХ НАЛОГОВ)
<?php
function get_primary_category( $post = 0 ) {
if ( ! $post ) {
$post = get_the_ID();
}
// SHOW YOAST PRIMARY CATEGORY, OR FIRST CATEGORY
$category = get_the_category( $post );
$primary_category = array();
// If post has a category assigned.
if ($category){
$category_display = '';
$category_slug = '';
$category_link = '';
$category_id = '';
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( 'category', get_the_id( $post ) );
$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_slug = $category[0]->slug;
$category_link = get_category_link( $category[0]->term_id );
$category_id = $category[0]->term_id;
} else {
// Yoast Primary category
$category_display = $term->name;
$category_slug = $term->slug;
$category_link = get_category_link( $term->term_id );
$category_id = $term->term_id;
}
}
else {
// Default, display the first category in WP's list of assigned categories
$category_display = $category[0]->name;
$category_slug = $category[0]->slug;
$category_link = get_category_link( $category[0]->term_id );
$category_id = $term->term_id;
}
$primary_category['url'] = $category_link;
$primary_category['slug'] = $category_slug;
$primary_category['title'] = $category_display;
$primary_category['id'] = $category_id;
}
return $primary_category;
}
?>
, которые я могу вызвать позже с
<code><?php echo '<pre>'.print_r(get_primary_category(get_the_ID()), true).'
';?>