Добавьте пользовательскую таксономию для мета-информации блога
Прошу прощения, но я не совсем уверен, как озаглавить этот пост. При поиске моих пользовательских таксономий ничего не отображается после "Опубликовано", я не уверен, как добавить его в категории php ниже.
Любая помощь очень ценится, я думаю, что мне нужно заявление if/else?
<p class="post-info"><?php the_time('F j, Y'); ?> | by <a href="<?php echo get_author_posts_url(get_the_author_meta('ID')); ?>"><?php the_author(); ?></a> | Posted in
<?php
$categories = get_the_category();
$separator = ", ";
$output = '';
if ($categories) {
foreach ($categories as $category) {
$output .= '<a href="' . get_category_link($category->term_id) . '">'
. $category->cat_name . '</a>' . $separator;
}
echo trim($output, $separator);
}
?>
</p>
1 answers
get_the_terms()
это функция, необходимая для получения терминов пользовательской таксономии, связанной с вашим сообщением.
Он аналогичен (но не идентичен) get_the_category()
для таксономии категорий по умолчанию.
[Отредактировано, чтобы ответить на первый комментарий ниже]
Адаптируя код, который у вас есть для категорий, вот как вы можете отображать категории или термины:
<?php
$categories = get_the_category();
$separator = ", ";
$output = '';
if ($categories) {
foreach ($categories as $category) {
$output .= '<a href="' . get_category_link($category->term_id) . '">'
. $category->cat_name . '</a>' . $separator;
}
echo trim($output, $separator);
}
elseif ( $terms = get_the_terms( get_the_ID(), 'my-custom-taxonomy' ) ) {
foreach ( $terms as $term ) {
$output .= '<a href="' . get_term_link( $term, 'my-custom-taxonomy' ) . '">'
. $term->name . '</a>' . $separator;
}
echo trim( $output, $separator );
}
?>
Не забудьте заменить 'my-custom-taxonomy'
(дважды) фактическим слизняком для вашей таксономии.
Обратите внимание, что по используя эту структуру if/else, если запись содержит как категорию, так и термин из пользовательской таксономии, то будет отображаться только категория.
Можно просто изменить elseif
на просто if
, если они хотят, чтобы в таком случае отображались оба.
Ссылки: