Сышышь ты, выходи сюда,
поговорим !

Главная Новости

Статьи по WordPress

Опубликовано: 01.09.2018

видео Статьи по WordPress

Как вывести статьи по рубрикам на главной странице

Задача . Создать уникальный фон для каждой страницы и уникальный стиль для рубрики



Решение. Чтобы понять, как нам это сделать, напомню немного о структуре WordPress. Как правило, за вывод главной страницы отвечает файл index.pxp (в некоторых шаблонах - home.php). За вывод страниц блога отвечает файл page.php, за вывод категорий (или рубрик) - файл category.php.

Обычно все стили прописаны в файле style.css, которые распространяются на все страницы нашего блога/сайта. Но иногда возникает необходимость придать страницам или рубрикам разный фон или какой-то уникальный стиль.


Учимся создавать ЗАПИСИ, РУБРИКИ, СТРАНИЦЫ в Wordpress. Добавляем МИНИАТЮРУ записи

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

Итак, у нас есть четыре статические страницы. Наша задача - придать каждой странице уникальный фон, который одновременно служит шапкой для страницы.

Как видим, все стили в данном примере одинаковы, за исключением стиля для body и wrapper. Заблаговременно у вас должны быть подготовлены картинки для вашего фона. В блокноте Notepad++ создаем новый файл и сохраняем его как page-IDномер страницы.css .

Как узнать IDномер страницы?

Заходим в нашей админке на Страницы-Все страницы и выбираем страницу, на которой мы хотим сделать стилистические изменения. Нажимаем Изменить и в адресной строке смотрим, какой ID-номер у нашей страницы (на картинке-2)

В нашем случае, файл мы сохраняем как page-2.css . В этом файле мы прописываем только изменения. В нашем случае, мы задаем новый стиль для body и wrapper.

body { background: url (images/layout-bg.jpg) #FFFFFF scroll center top no-repeat; } #wrapper { background: url(images/wrapper_layout_bg1.png) #FFFFFF scroll center top no-repeat; }

Сохраняем в той директории, где находится файл style.css . Теперь, в зависимости от темы, в файл , где есть код подключения внутренних стилей -это может быть header.php или function.php - прописать следующий код:

Где is_page('2') - номер страницы, на которой поменяли стиль, page-2.css - созданный нами стиль для этой же страницы.

Заходим на нашу страницу ID-2 и проверяем.

Теперь будем менять стили для отдельных категорий. В этом случае наши действия будут несколько другими.

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

Как я уже упоминала, за вывод рубрик отвечает файл category.php . Как работает WordPress? При запросе на вывод рубрики сперва проверяется, существует ли файл category.php для конкретной рубрики, например, category-1.php . Если такого файла не находится, проверяется наличие файла category.php . Если же и такого файла нет, то для запрашиваемой категории WordPress будет искать файл archive.php . Если и такой файл отсутствует, то выводится файл index.php . Чтобы задать какие-то другие стили для конкретной категории, нам нужно создать такой отдельный файл для этой категории.

Сперва определяемся с ID рубрики, в которой нам нужно сделать изменения. Определяем по тому же методу, что мы делали со страницей. Открывает в блокноте файл category.php (если его нет, то index.php) и сохраняем его копию как category-IDрубрики.php . Например, category-2.php . Затем уже в этот файл вносим необходимые изменения. В моем случае, мне нужно было прописать адрес картинки в слайдере для рубрики 2.

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

Если ваша тема должна уметь еще более подробно управлять шаблоном отображения, чем тот уровень автоматического контроля, который обеспечивает иерархия шаблонов, как я писала выше, например, по категориям, вы можете использовать условные теги (Conditional Tags). Условные теги в основном проверяют, если какое-либо особое состояние верно во время исполнения вызова заданных функций, в таком случае вы можете загрузить определенный шаблон, или отобразить некоторые варианты текста на странице, в соответствии с этим состоянием.

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

Т.е. если запрашивается категория с ID-9, то для выполнения этого запроса будет открываться файл single2.php, в котором мы сделали какие-то уникальные настройки. Для постов всех остальных категорий - будет открываться файл single1.php

Или, используя объект запроса, тот же алгоритм можно реализовать по другому:

post; if ( $post->in_category('9') ) { include(TEMPLATEPATH . '/single2.php'); } else { include(TEMPLATEPATH . '/single1.php'); } ?>

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

rss