Добавьте пользовательскую таксономию для мета-информации блога


Прошу прощения, но я не совсем уверен, как озаглавить этот пост. При поиске моих пользовательских таксономий ничего не отображается после "Опубликовано", я не уверен, как добавить его в категории 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>
Author: Ashley, 2018-02-08

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, если они хотят, чтобы в таком случае отображались оба.

Ссылки:

 0
Author: Iceable, 2018-02-08 16:41:25