Вывод текста в блоге только на главной

Изначально формат блогов всегда работал таким образом, что сообщения или как многие называют посты, выводились друг за другом в определенной последовательности: от самых новых до старых, причем последние постепенно превращаются в архив. Такой вид имели абсолютно все блоги в самом начале, но, как и все в этом мире, блоггинг на месте не стоит – развивается, появляются различные варианты шаблонов wordpress, которые отображают информацию по-разному, например, в газетном виде, демонстрируя сверху так называемые featured статьи, т.е. избранные. Большой популярностью стали пользоваться фото блоги, в которых очень мало текстовой информации, в основном фотографии и т.п. Постепенно, люди отходят от навязанных стандартов – и это прекрасно!

Так же в процессе работы с главной страницей вам может потребоваться графический дизайн. Если вы не умеете работать в фотошопе, рекомендуем вам скачать уроки Photoshop, которые быстро помогут вам освоить программу.

Давайте рассмотрим один из вариантов, с помощью которых можно разнообразить Ваш блог. Можно настроить вывод любого текста на главную страницу блога. Получается, читатель, зашедший на проект site.ru видит компактное описание о сайте и что на нем можно найти. Также такие описания или вступления размещают в сайдбаре, иногда в самой шапке блога. А можно сделать еще интересней и совместить эти два варианта:

  1. Отобразить на главной странице вступление и текстовый блок;
  2. На остальных страницах блога выводить описание в сайдбаре, в более компактном (уменьшенном) виде.

Для наглядности можно посмотреть пример в блоге о чае. Что касается дизайна, то доделано там не все, но вывод текста на главную страницу я все-таки, настроил. Получается так, что практически все посты WordPress Inside основаны на моем личном опыте.

Рассмотрим условные операторы wordpress.

Для решения поставленной задачи будет применять условные операторы wordpress. Правда тут есть маленькая «неувязка», раскусить которую мне пока не удалось, но на конечный результат она не повлияет. Дело в том, что для того чтобы определить главную страницу в блоге есть сразу несколько операторов — – is_home() и is_front_page(). Изучая описание в кодексе, я не смог до конца разобраться, какая же между ними разница, какие-то термины одинаковые, поэтому я просто на практике определил работающий вариант.

is_home() – это условный оператор, равный TRUE или FALSE, проверяющий, отображается ли «main page» для блога в данный момент. Еще сказано, что в WordPress версия 2.1 функция несколько по-иному обрабатывается, нежели в других версиях, а, если выбрана в качестве главной статическая страница, то  могут возникнуть ошибки.

is_front_page() – условная функция, добавленная в версии 2.5, принимает значение TRUE или FALSE, все зависит от того, выводится ли в данный момент времени «front» страница или пост. Судя по всему, эта функция универсальная и должна срабатывать в обоих случаях – когда у вас в панели управления выбрано в качестве главной «статическая страница» либо «отображать последние записи на главной».

Если эту статью читают гуру wordpress, разбирающиеся во всех тонкостях этой системы, то буду очень благодарен за разъяснение. А пока что могу только сказать, что мною используется функция  is_front_page() и никаких проблем не наблюдается. При этом на главной странице выводятся «последние посты». Это имеет приблизительно такой вид:

[php]

<?php
if (is_front_page() ) {
echo(‘This is a homepage’); // действие для главной страницы
} else {
echo(‘This is not a homepage’); // действие для не главной страницы
}
?>

[/php]

Часто в блогах встречаются такие ситуации, когда помещаются все посты на главной странице и появляется снизу разбиение на страницы. Важно (!), что система worpress не меняет текущее состояние страницы при переходе по ним с «главной» на другую. И мы просто имеет главную страницу, не помещающуюся за один раз. В связи с этим нюансом, мы будем применять еще один полезный условный оператор:

is_paged() —  реагирует (TRUE или FALSE) на ту ситуацию, при которой все сообщения архива (для главной, тегов, категории) не помещаются на одну страницу и раздиляются на несколько. Причем, обращаю Ваше внимание, это не касается разделения отдельного поста на страницы при помощи <!—nextpage—>.

В результате – текст выводим только на главной странице.

Для того чтобы выводить на главной странице текст и иметь возможность спрятать его на других страницах используется код, который добавляют в файл шаблона index.php до строки с выборкой последних сообщений блога have_posts():

[php]

<?php if ((is_front_page()) and (!is_paged())) { ?>
<div><h1>Мой блог</h1></div>
<div><p>Добро пожаловать в мой новый блог</p></div>
<?php } ?>

[/php]

Следующим делом необходимо настроить отображение краткого описания для нашего блога в сайдбаре. Находим и открываем файл sidebar.php, приписываем в определенное место следующие строки:

[php]

<?php if ((!is_page(‘2′)) and !((is_front_page()) and (!is_paged()))) { ?>
<div style=»margin-bottom: 5px;»>
<div>О проекте</div> <p>Короткое описание</p>
</div>
<?php } ?>

[/php]

Здесь находится еще один условный оператор, вдруг пригодится кому-нибудь.

is_page (‘ID’) – оператор, проверяющий вывод страницы с номером, который указан в ID. В приведенном примере я скрываю компактное описание моего блога на странице с id 2,так как именно там у меня расположено много материала «о проекте». Я не вижу смысл выводить краткое описание, если все изложено прямо в блоке контента.

В целом тема об условных операторах wordpress — весьма интересна и многогранна. Если у Вас возникло желание более подробно с ней ознакомиться, можно изучить кодекс, там даже рассмотрены некоторые примеры. К примеру, интересный проект разработали topsape – рейтинг лучших манимейкеров в одной из самых популярных бирж ссылок Sape, интересные заработки есть у людей.