Как уникально стилизовать разные категории в WordPress
Дизайн всегда был одним из самых важных аспектов пользовательского интерфейса. Хороший пользовательский интерфейс приведет к большему количеству посетителей на ваш сайт и, в конечном итоге, к большему доходу для вас.
Сегодня существуют миллионы действующих веб-сайтов, и вы должны сделать свой сайт достаточно уникальным, чтобы выделиться среди конкурентов.
Насколько популярен WordPress
Есть много способов создать свой веб-сайт, но платформа, которую вы выберете для своего веб-сайта, может быть основным фактором, определяющим, насколько много настроек вы можете сделать. Есть много платформ, из которых вы можете выбирать, но WordPress — одна из самых популярных CMS в мире из-за ее простоты и возможности настройки. WordPress может быть не таким простым в использовании, как Wix или Squarespace, но его возможности настройки делают его таким популярным.
В чем проблема быть настолько популярным?
WordPress имеет огромное сообщество (очень полезное), и вы можете найти решение любой проблемы, с которой вы можете столкнуться во время своего путешествия по WordPress. Сообщество наполнено информацией и ресурсами, одним из основных ресурсов являются темы WordPress. Вы можете найти тысячи бесплатных тем в библиотеке wordpess.org, и их число растет с каждым днем.
Несмотря на то, что WordPress так популярен, существует проблема с такой популярностью по-разному, поскольку одна тема может использоваться много раз на разных веб-сайтах, сайты, использующие эту конкретную тему, будут выглядеть примерно одинаково. Таким образом, вашему сайту может не хватать уникальности, если вы просто используете тему как есть.
Почему вы хотите по-другому стилизовать категории?
Как правило, в блоге или на сайте с богатым содержанием разные темы делятся на разные категории. Это страница, на которой посетитель может получить всю информацию по определенной теме, и это дает вам возможность представить категории уникальным способом, чтобы предоставить им отличный опыт.
Таким образом, индивидуальное оформление каждой категории может дать вам преимущество перед конкурентами, даже если они используют одну и ту же тему.
Разница может быть такой же простой, как разные цвета для каждой категории в разных макетах.
Давайте посмотрим, как вы можете это сделать.
Способы стилизации категорий
Помимо бесплатных тем, вы можете приобрести премиальные темы на разных торговых площадках. Как правило, эти темы загружены пользовательскими функциями, но даже в этом случае большинство из них не даст вам возможности по-разному стилизовать ваши категории.
Потому что одна тема может использоваться по-разному на разных веб-сайтах, поэтому автор темы не знает, как вы собираетесь использовать тему.
Таким образом, вы должны знать, как по-разному стилизовать категории, есть два способа сделать это.
- С шаблонами
- С CSS
Теперь давайте рассмотрим каждый из них с различными вариантами использования.
С шаблонами
Если вы хотите внести структурные изменения в макет, вы должны использовать шаблоны. Будь то боковая панель или полноразмерная страница с шаблонами, вы можете управлять макетом своей страницы.
Должен работать над детской темой
Одним из предварительных условий использования шаблонов является то, что вы должны использовать дочерние темы. Дело не в том, что это не будет работать в основной теме, но проблема изменения основной темы заключается в том, что вы не можете контролировать файлы там, после обновления темы все ваши изменения будут потеряны.
Вы можете использовать некоторые темы премиум-класса, готовые к дочерним темам, но если вы используете бесплатные темы, которые обычно не включают дочернюю тему, вам необходимо создать ее. Когда у вас будет готова дочерняя тема, вы можете создавать шаблоны категорий.
Как создать шаблон категории
WordPress работает с системой шаблонов, которая следует определенному иерархическому порядку. Вы должны знать эту иерархию шаблонов, чтобы создавать шаблоны категорий.
Иерархический порядок для категории.
category-slug.php
→ category-id.php
→ category.php
→ archive.php
→ index.php
В соответствии с порядком, wordpress будет искать, category-slug.php
где slug означает имя категории, предположим, что у вас есть категория с именем photoshop, поэтому он будет искать category-photoshop.php
сначала, если этот файл не существует, он будет искать, category-id.php
т. е. он будет искать любой файл с идентификатором категории, например category-3.php
если этот файл недоступен, он будет искать category.php
, если этот файл тоже отсутствует, он попытается использовать archive.php
файл в качестве шаблона, если он не найден, он, наконец, будет использовать index.php
его в качестве базового шаблона.
Чтобы создать шаблон категории, вам нужно найти category.php
файл в своей теме, в большинстве тем есть category.php
файл, но если вы его не найдете, найдите файл archive.php
.
Примечание. В некоторых фреймворках вы можете вообще не найти эти файлы для тех случаев, когда вам нужно следовать рекомендациям по конкретным фреймворкам.
Теперь предположим, что вы работаете над дочерней темой, скопируйте файл category.php
или archive.php
из родительской темы и вставьте его в ту же папку, что и дочерняя тема.
Например, если вы нашли нужный файл в корневом каталоге родительской темы, вы должны поместить его в корневой каталог дочерней темы, аналогично, если он был в подпапке, то создайте подпапку с таким же именем и вставьте его туда.
Теперь двигаемся дальше, скажем, у вас есть категория, называемая фотошоп, переименуйте новый файл в дочерней теме, вот так category-photoshop.php
, и все, категория фотошопа будет использовать этот шаблон.
Теперь давайте посмотрим на это на примере.
Примечание. Мы будем использовать тему wordpress двадцать семнадцать здесь для наших примеров, процесс будет работать с любой темой, но структура html будет отличаться от темы к теме.
Теперь мы создали шаблон категории, давайте сделаем некоторые настройки.
Посмотрите, как выглядит текущий шаблон.
Это то, чего мы пытаемся достичь.
Базовая структура
Тема Twenty Seventeen имеет макет с двумя столбцами, но нам нужен макет с одним столбцом, мы сделаем этот шаблон полной ширины без боковой панели.
В теме двадцать семнадцать нет category.php
файла, поэтому мы использовали archive.php
его в качестве базового шаблона и назвали его category-photoshop.php
.
Старый код (archive.php).
', '' );
the_archive_description( '
', '
' );
?>
twentyseventeen_get_svg( array( 'icon' => 'arrow-left') ). ''. __( 'Previous page', 'twentyseventeen' ). '',
'next_text' => ''. __( 'Next page', 'twentyseventeen' ). ''. twentyseventeen_get_svg( array( 'icon' => 'arrow-right') ),
'before_page_number' => ' ',
) );
else:
get_template_part( 'template-parts/post/content', 'none' );
endif; ?>
Новый код (категория-photoshop.php).
', '' ); the_archive_description( '
', '' ); ?>
twentyseventeen_get_svg( array( 'icon' => 'arrow-left') ). ''. __( 'Previous page', 'twentyseventeen' ). '', 'next_text' => ''. __( 'Next page', 'twentyseventeen' ). ''. twentyseventeen_get_svg( array( 'icon' => 'arrow-right') ), 'before_page_number' => ' ', ) ); else: get_template_part( 'template-parts/post/content', 'none' ); endif; ?>
Здесь вы можете видеть, что я удалил, потому что у этого шаблона не будет боковых панелей.
Это удалит боковую панель, но макет по-прежнему не будет иметь полную ширину, и нам нужно выполнить некоторую настройку CSS. Помните, что все настройки CSS будут внесены в файлы CSS дочерних тем, а не в файлы родительской темы.
WordPress добавляет уникальный класс в каждую категорию с именем категории в теле, например category-photoshop
, вы можете использовать этот класс для стилизации страницы.
CSS:
@media screen and (min-width: 48em) {
.category-photoshop #primary {
float: none;
width: 100%;
}
}
Использование media query
просто для соответствия таблице стилей родительской темы.
Добавление описания категории
Вы можете показать дополнительное описание каждой категории, добавив описание в раздел категорий. Предоставление дополнительной информации поможет посетителям лучше понять тему, но вы можете сделать этот раздел более интересным, придав уникальный вид каждой категории.
В соответствии с нашим дизайном нам понадобится пользовательское изображение слева и название категории с описанием справа.
', '
' );
?>
twentyseventeen_get_svg( array( 'icon' => 'arrow-left') ). ''. __( 'Previous page', 'twentyseventeen' ). '',
'next_text' => ''. __( 'Next page', 'twentyseventeen' ). ''. twentyseventeen_get_svg( array( 'icon' => 'arrow-right') ),
'before_page_number' => ' ',
) );
else:
get_template_part( 'template-parts/post/content-photoshop', 'none' );
endif; ?>
CSS:
.page-header {
border-bottom: 1px solid #ccc;
box-sizing: border-box;
margin-bottom: 1.5em;
padding-bottom: 0.5em;
}
.header-category-title {
float: left;
padding-top: 15px;
width: 85%;
}
.header-category-img {
float: left;
width: 15%;
}
Вы можете видеть, что я внес довольно много изменений в этот page-header
раздел, но самое важное из них заключается в том, single_term_title()
что я хочу отображать только название категории, например Photoshop, вместо Category:Photoshop.
Идем дальше.
Вид коробки
Мы внесли основные изменения, такие как создание макета одного столбца и изменили раздел описания категории, теперь давайте сделаем что-то немного более продвинутое, мы преобразуем список сообщений из представления списка в представление с гирляндой или полем с 3 элементами в столбце.
Чтобы внести эти изменения, нам нужно изменить get_template_part
путь, потому что здесь содержимое вызывается из другого места, но в некоторых темах вы можете обнаружить, что содержимое размещается непосредственно в базовом шаблоне.
get_template_part( 'template-parts/post/content-photoshop', get_post_format() );
Теперь, чтобы изменить эту страницу контента, вы должны скопировать файл из родительской темы в дочернюю тему и поместить его в ту же структуру папок, а затем переименовать его по своему усмотрению.
Здесь я скопировал content.php
файл из родительской темы и вставил его как content-photoshop.php
в дочерней теме. Он переименован, потому что любые изменения, которые будут внесены здесь, повлияют только на этот шаблон.
Код (content-photoshop.php).
> 'thumb-tack') ); endif; ?>
', '' ); } elseif (is_front_page() && is_home()) { the_title( '
', '
' ); } else { the_title( '', '
' ); } if ('post' === get_post_type()) { echo ' '; }; ?>"%s"', 'twentyseventeen' ), get_the_title() ) ); ks29so_link_pages( array( 'before' => ''. __( 'Pages:', 'twentyseventeen' ), 'after' => '', 'link_before' => '', 'link_after' => '', ) ); else: the_excerpt( sprintf( __( 'Continue reading "%s"', 'twentyseventeen' ), get_the_title() ) ); ks29so_link_pages( array( 'before' => ''. __( 'Pages:', 'twentyseventeen' ), 'after' => '', 'link_before' => '', 'link_after' => '', ) ); endif; ?>
Теперь следует отметить несколько моментов: я добавил пользовательский класс
one-third
в раздел статьи и изменил тип контентаexcerpt
на окно, другие структурные изменения не требуют пояснений.CSS:
.category-photoshop main{ margin:0 -15px; } .one-third { box-sizing: border-box; float: left; padding: 0 15px; width: 33.333%; } .one-third .post-container { border: 1px solid #ccc; padding: 10px; } .one-third .post-thumbnail{ margin-bottom:0; } .one-third h2{ margin-bottom:0.2em; }
Теперь так выглядит макет.
Только с CSS
Если вам не нравится php-код, даже тогда вы можете стилизовать страницы категорий только с помощью CSS, но эти изменения будут ограничены таким образом, что вы не сможете добавлять или изменять код, вы можете только стилизовать существующие элементы.
Давайте посмотрим на примерах, как даже с этими ограничениями вы можете сделать свои страницы категорий уникальными.
Допустим, мы хотим стилизовать нашу категорию WordPress на основе этого.
к этому.
Базовый стиль
Вы можете очень легко изменить цвет фона с помощью CSS, ориентируясь на класс, который предоставляет WordPress.
Что-то вроде этого.
CSS:
.category-wordpress .site-content-contain { background-color:#eaeaea; }
Добавление значка в заголовок категории
Вы можете добавить уникальные значки в каждую категорию с фоновыми изображениями, в соответствии с требованиями здесь мы добавим один только в нашу категорию WordPress.
CSS:
.category-wordpress .page-header { border-bottom: 1px solid #ccc; margin-bottom: 1.5em; padding-bottom: 0.5em; } .category-wordpress .page-header h1{ background:url("assets/images/wordpress-logo.webp") no-repeat left center; padding-bottom:5px; padding-left:35px; }
Создание страницы полной ширины
Вы можете преобразовать страницу с двумя или более столбцами в страницу полной ширины, по крайней мере, визуально с помощью CSS.
CSS:
.category-wordpress:not(.error404) #primary{ float: none; width: 100%; } .category-wordpress #secondary{ display:none; }
Я знаю, что это хак CSS и не рекомендуется в качестве лучшей практики, но вы можете достичь своей цели дизайна таким образом, особенно если вы недостаточно уверены в работе с шаблонами.
Но если вы можете работать с шаблонами, то этот метод создания полноразмерной страницы не рекомендуется использовать в качестве ярлыка, потому что все, что вы делаете, это скрываете ее от отображения в браузере, пока она остается в DOM.
Вывод
Как видите, вы можете многое сделать для стилизации различных категорий, и приведенные выше примеры являются лишь отправной точкой, но возможности зависят от вашей способности работать с шаблонами и CSS. В зависимости от вашего уровня навыков вы можете выбрать, как вы хотите стилизовать свои категории.
Итак, знаете ли вы какие-либо другие способы по-разному стилизовать разные категории, сообщите нам об этом в разделе комментариев ниже.
Источник записи: instantshift.com