Название категории в настрании страницы

Пытаюсь тут усложнить код и не выходит
я в пхп никакой .. с книгой только

вот код:

<title><?php if(is_single()){
    echo '';
    wp_title(''); 
    echo '- ';
} else {
    wp_title ('- ');
    echo 'Wwp.Net.RU - '; 
} 
bloginfo('name');
?></title>

Подставляет в итоге так: имя страницы – имя сайта (при просмотре статьи)
и на главной: Wwp.Net.RU – название сайта

Хотелось бы сделать посложнее но продуктивнее а как не знаю 🙁
чтобы было так при просмотре статьи: имя страницы – имя категории статьи – имя сайта

Тут будет всё не так просто. Дело в том, что название рубрики и название записи можно получить, только обратившить к базу данных. Обычно это происходит в теле цикла the loop. А тэг title выводится до этого цикла. Поэтому для title тогда придется дополнительно организовывать несколько запросов ради названия и рубрики, а после повторять эти же действия для вывода основного текста. Стоит ли?

Кстати, с точки зрения оптимизации, очень сомнительное желание. 🙂

caBeHoK, посмотри этоти плагины:
http://menhir.ru/wordpress/swap-title-prefix.html – меняет местами название блога и заголовок страницы
http://menhir.ru/wordpress/simple-title.html – в тайтл выводится только заголовок страницы, а название блога светится только на главной.

MAX, Спасибо, тогда забуду данную затею, доп. запросы ради такого приимущества мне не нужно

sonika
1. этим плагином я и пользуюсь
2. я это могу делать своим скриптом к первому плагину, что показан в первом посте темы

Всем спасибо

Небольшое замечание… Основные запросы к базе к моменту вызова шаблонов уже сделаны. Loop гонит только уже по их результатам. Тем более, при вызове title в single-запросе уже известна и категория, и имя, и все-все все. Конструкция

$post = $wp_query->post;

включает первую (или единственную) запись из готового списка в более быстрые глобальные переменные, которыми пользуются все функции, предназначенные для работы в цикле (Loop). Т.е. вообще говоря, сделать конструктив имя страницы – имя категории статьи – имя сайта можно без дополнительных запросов. Только с точки зрения поисковой оптимизации это действительно грустно, т.к. длинно.

Да, действительно… Вот, что у меня получилось с выводом категории:

<title>
<?php $aaa = get_the_category(); echo $aaa[0]->cat_name; ?>
...ля-ля-ля...
</title>

Интересно, спасибо огромное

Anonymous
Отправить
Ответ на: