Получить текущий slug страницы

14 янв. 2018 г., 17:39:24
Просмотры: 19K
Голосов: 0

Я хочу получить текущее название страницы (pagename) для использования в хлебных крошках. Пробовал несколько способов, но они не сработали, например:

           <?php wp_title('true'); ?>

           $pagename = get_query_var('pagename');
                if ( !$pagename && $id > 0 ) {
                // Если статическая страница установлена как главная, $pagename не будет установлен. Получаем его из queried object
                $post = $wp_query->get_queried_object();
                $pagename = $post->post_name;
                }$slug = basename(get_query_var('pagename'));

Чтобы вопрос был более понятным - мне нужно получить название страницы для хлебных крошек на Bootstrap, в формате: Главная / НазваниеСтраницы / НазваниеПоста (если осуществляется навигация).

0
Все ответы на вопрос 1
5

Предполагая, что вы делаете это внутри цикла (Loop), можно получить slug страницы следующим образом:

global $post;
$page_slug = $post->post_name;

Затем просто используйте echo $page_slug; в том месте, где нужно вывести slug.

Для получения slug вне цикла потребуется другой код:

$the_page = sanitize_post( $GLOBALS['wp_the_query']->get_queried_object() );
$slug = $the_page->post_name;
14 янв. 2018 г. 19:21:32
Комментарии

да, я хотел, чтобы это было вне цикла. В любом случае спасибо, чувак

Simo Patrek Simo Patrek
14 янв. 2018 г. 21:56:16

Ок. Дай мне секунду, и я обновлю код.

Cedon Cedon
14 янв. 2018 г. 23:29:25

Код был добавлен.

Cedon Cedon
15 янв. 2018 г. 00:31:36

спасибо за вашу помощь, но проблема в том, что когда я захожу в конкретную запись, она возвращает название записи, а не название страницы.

на самом деле я хотел бы, чтобы это выглядело так: Главная / "здесь код, который вы добавили для меня" как НазваниеСтраницы / "здесь название записи.

Simo Patrek Simo Patrek
15 янв. 2018 г. 18:02:19

Название страницы и название записи — это одно и то же.

Cedon Cedon
16 янв. 2018 г. 00:17:58