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

  • Добрый день!
    Использую WP 3.0.5 и шаблон Twentyten.
    Подскажите, пожалуйста, как в шаблоне страницы проверить, является ли страница — страницей вывода записей (Post page) и получить ее название?
    Т.е. у меня есть Front page (Главная), плюс другие страницы и Блог (Post page), куда выводятся записи.
    Creating_a_Static_Front_Page
    На главной и других страницах выводятся заголовки страницы — the_title()
    Хочется чтоб на странице блога, было тоже написано «Блог», т.е. название страницы вывода записей (Post page), вместо bloginfo(‘name’).
    Front page проверить легко — is_front_page, а как Post page?

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

    (@yube)

    Юрий, спасибо!
    Немного продвинулся, но не до конца..
    Поясню задачу…
    Я хочу перенести заголовок всех страниц в header, так чтоб на каждой странице (Page) сайта выводился заголовок и на странице блога (Post page) выводилось название страницы «Блог», а не название блога «Мой блог»..
    Делаю следующим образом, добавил в хедер следующий код:

    <?php if ( is_page() || is_home() ) : wp_title(''); ?>

    Таким образом, на всех страницах и на странице блога выводится название страниц, но если открыть какую-либо запись блога, то название не выводится.
    Как на странице записи блога (single) можно получить название страницы блога (Post page)?

    Модератор Yuri

    (@yube)

    Ну, наверно, к условиям добавить is_single()

    ну это понятно, что к условиям добавить..
    а как название страницы получить?
    wp_title и the_title — если мы читаем какую-либо запись возвращают заголовок этой записи…

    решение нашел, но как-то, мне кажется, коряво…

    <?php
    	if ( is_page() || is_home() ) : wp_title('');
    	elseif ( is_single() ) :
    		$page = get_page_by_title('Блог');
    		echo get_the_title($page);
    	endif
    ?>

    Можно как-то оптимальнее?

    В итоге сделал вот так:

    <div id="page_title">
    	<?php
    		$my_page_title ='';
    		if ( is_page() ) :
    			$page_title = get_the_title();
    			$page_link = get_permalink();
    		elseif ( is_single() || is_home() ) :
    			$page = get_page_by_title('Блог');
    			$page_title = get_the_title($page);
    			$page_link = get_permalink($page);
    		endif;
    	?>
    	<h1><a href="<?php echo $page_link; ?>" title="<?php echo $page_title; ?>"><?php echo $page_title; ?></a></h1>
    </div>

Просмотр 6 ответов — с 1 по 6 (всего 6)
  • Тема «Как узнать страницу записей?» закрыта для новых ответов.