Поддержка Проблемы и решения Как получить slug текущего произвольного типа записей?

  • Решено DirtyDan

    (@dirtydan)


    Как получить slug текущего произвольного типа записей и сделать чтобы один код для получения работал как на сингл страницах постов произвольного типа, так и на страницах архивов постов произвольного типа?

    Есть почти нужный код (работает и на сингл и в архивах), НО он получает только название произвольного типа полей, а не его slug:

    <?php $post_type = get_post_type_object( get_post_type($post) );echo $post_type->label ; ?>

    Пробовал вместо label вставить slug, но не работает. Как же получить именно slug?

Просмотр 4 ответов — с 1 по 4 (всего 4)
  • Модератор Yuri

    (@yube)

    Разве у типов есть слаги? Слаг — атрибут записи или терма, используемый в ЧПУ. У «общностей» — типов и таксономий — есть только имя (первый параметр для register_*)

    Да, перепутал названия. Именно его и надо вывести. Он находится в functions.php

    `register_post_type(‘ВОТ_ЭТО_НАЗВАНИЕ_НАДО_ВЫВЕСТИ’,$args);

    Как же его получить?

    Модератор Yuri

    (@yube)

    get_post_type($post)

    p.s. с учетом (не)видимости глобальных переменных надежнее внутри Цикла вместо $post использовать get_the_ID()

    • Ответ изменён 6 лет, 1 месяц назад пользователем Yuri. Причина: p.s

    Отлично! Спасибо! Получился рабочий код для всех страниц. Оставляю его ниже. Может кому-то пригодится Итак, вот как вывести на всех страницах параметр register.

    <?php
        $post_type = get_post_type( $post_id );
        echo $post_type;
    ?>
Просмотр 4 ответов — с 1 по 4 (всего 4)
  • Тема «Как получить slug текущего произвольного типа записей?» закрыта для новых ответов.