Тема Basic. Правильное внесение изменений

Тема Basic от WP Puzzle — быстрая, удобная и одна из самых популярных тем в репозитории WordPress. Многие разворачивают свои сайты на этой теме, но вот изменения зачастую вносятся не верно. Так что будем разбирать как правильно вносить изменения в эту тему.

Запомните! Если вы не используете уникальную тему или тему собственной разработки, то для внесения изменений всегда требуется использовать дочернюю тему.
к содержанию

Дочерняя тема

Что такое дочерняя тема и для чего она нужна смотрим в видео

Создание дочерней темы — процесс не сложный и действовать надо по такому алгоритму:

  • создать папку с названием темы;
  • создать в этой папке файл style.css;
  • создать там же файл functions.php.

Теперь надо в файл style.css добавим нужные теги

/*
Theme Name:   Basic Child
Theme URI:     https://wpruse.ru/
Description:  Дочерняя тема для Basic. Изменены шрифты, добавлен верхний бар с поиском и иконками на соцсети
Author:       Артем Абрамович
Author URI:   https://wpruse.ru/
Template:     basic
Version:      1.0
*/

Формально, теперь можно активировать тему и все будет работать. Вот только внешний вид хромает, требуется подрубить стили родительской темы. Для этого в файл functions.php добавляем следующее:

add_action( 'wp_enqueue_scripts', 'basic_child_enqueue_style' );
function basic_child_enqueue_style(){
wp_enqueue_style('parent', get_template_directory_uri() . '/style.css');
}

Вот теперь все как надо…

к содержанию

Изменение шрифтов

Выбор шрифта

Давайте, например, изменим шрифты. В теме Basic используются шрифты от Google Fonts, выберем и настроим шрифтовую пару. Это будет Oswald и Roboto. Забираем ссылку
Тема basic. Правильное использование

к содержанию

Подключение шрифтов

Чтобы не грузить лишние шрифты отключаем шрифты родительской темы и подключаем выбранные

add_action( 'wp_enqueue_scripts', 'basic_child_enqueue_font',99);
function basic_child_enqueue_font(){
wp_dequeue_style('basic-fonts');
wp_enqueue_style( 'basic-fonts-child', '/fonts.googleapis.com/css?family=Oswald:300,500|Roboto:300,300i,700,700i&subset=cyrillic', array(), true );
}

Осталось только изменить семейство шрифтов в стилях дочерней темы. Ищем в родительской теме старые семейства и заменяем на новые

Тема basic. Правильное использование

Профит. Шрифты изменены.

к содержанию

Верхний бар

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

add_action( 'basic_before_header', 'basic_child_top_nav', 10 );
function basic_child_top_nav(){
?>
<div class="top-bar">
<div class="maxwidth grid flex-line">
</div>
</div>
<?php
}

В баре можно вывести все, что угодно. Например номер телефона или поиск

add_action( 'basic_before_header', 'basic_child_top_nav', 10 );
function basic_child_top_nav(){
?>
<div class="top-bar">
<div class="maxwidth grid flex-line">
<div class="search-top-bar">
<?php $s = get_search_query(); ?>
<form method="get" class="search-form-top-bar" action="<?php echo esc_url( home_url( '/' ) ); ?>/">
<input type="text" value="" placeholder="<?php _e("Search", 'basic'); ?>" name="s" class="s" />
</form>
</div>
</div>
</div>
<?php
}

Добавим немножко стилей

.top-bar .flex-line {
display: flex;
flex: 1;
flex-wrap: wrap;
justify-content: flex-end;
align-items: center;
}

Вот и все…

к содержанию

Бонус

Все, что выше мною сказано, я упаковал в готовую дочернюю тему. Можете ее скачать совершенно бесплатно.

Резюме

Итак, это был небольшой пример того, как правильно вносить изменения в тему Basic. Все изменения вносятся через дочернюю тему, а хуки и фильтры позволяют не изменять файлы.

Как-то так, вопросы и предложения оставляем в комментариях.

Всем пока-пока!

22 комментариев
  • Максим

    16.12.2017

    Добрый день.
    В родительской теме есть папка inc.
    И нужно внести изменение в один и файлов в этой папке.
    Как правильно сделать в дочерней теме изменения этого файла?
    Спасибо.

    • Артем

      16.12.2017

      Добрый! Для этого надо скопировать всю папку и нужные файлы в ней

  • Михаил

    17.12.2017

    Добрый день!
    Применение дочерних тем обусловлено необходимостью обновлений первоначальной темы или из-за претензий её авторов?

    • Артем

      06.01.2018

      Доброго! Именно обновлениями родительской темы, авторы наоборот всегда говорят, что надо использовать дочерки

  • Максим

    14.01.2018

    Добрый вечер.
    А как вместо поля поиска прикрутить туда еще одно меню?

    • Артем

      16.01.2018

      Доброго! Зарегать меню, убрать поиск и вывести зареганное меню

      • Максим

        16.01.2018

        Чуть больше подробностей.
        Как найти и где тот кусок кода который зареганное меню, чтобы вывести его вместо поиска?
        Сбивает с толку, что в теме есть такое понятие как «места для вывода меню».

  • Павел

    25.01.2018

    У разработчиков темы Владимира и Александры есть плагин functions.php . Изменение вносить в него? И еще, чтобы для поисковиков тема казалась уникальной надо сменить названия классов, стилей?
    И еще пожалуйста. Хочу уменьшить расстояние между виджетами. Где это изменить?

    • Артем

      26.01.2018

      Если дочерка используется, то нет смысла использовать пустой плагин.
      ПС пофигу какая у вас тема, уникальная или нет, главное чтобы семантика была правильной
      Скорее всего в стилях надо смотреть

  • Дмитрий

    20.03.2018

    Артём, здравствуйте!
    У меня на теме Basic при вставке текста с гиперссылками в виджет «Текст» они (ссылки) не отображаются, идёт голый текст. На другой теме этот же текст в виджете показывает гиперссылки. Это особенность темы?

  • Дмитрий

    20.03.2018

    Артём, удалите мой предыдущий комментарий, стыдно :)
    Ссылки были, просто они не подсвечивались синим и не подчёркивались, поэтому я их просто не замечал.
    mea culpa

    • Артем

      22.03.2018

      Да ладно, ничего страшного, бывает

  • Дмитрий

    20.03.2018

    А вот вопрос, на который я не могу найти ответ самостоятельно: на моём сайте thaoless.ru в левом нижнем углу видна чёрная точка. И на компьютере, и на мобильном устройстве она видна.
    Что, чёрт возьми, это такое?

    • Артем

      23.03.2018

      Это у вас так отрабатывает предупреждение о куках, потом скрывается, а стили списков остаются. Стили перекрываются

      • Дмитрий

        23.03.2018

        Вот оно как… Спасибо за подсказку.
        Что с этим можно сделать? Вывести объявление про куки не в виджете, а каким-то другим способом?

  • masterng

    10.05.2018

    Здравствуйте, у меня вопрос, как кастомизировать футер в теме basic

    • Артем

      13.05.2018

      Просто так не получиться, надо кодом владеть, ну и смотря что кастомизировать

  • Михаил

    14.06.2018

    Приветствую, Артем.

    Посмотрев видео решил тему оценить, с такими никогда не работал, имеются в виду экшены.
    Есть удобство, согласен, столкнулся с проблемой.
    Просмотрел ваш видео урок https://www.youtube.com/watch?v=owifEoFimL4
    использовал его на сайте с темой — валенти:
    https://themeforest.net/item/valenti-wordpress-hd-review-magazine-news-theme/5888961, все красиво получилось.

    А вот в теме Basic не получается, шаблон устроен не стандартно, не классически, вывести допполя не получается. Точнее получается, а настроить нет, один шаблон для архивов и для главной — content.php, в итоге все соскобочивается, было бы проще если бы настройки были для каждой страницы.

    Пробовал и Advanced Custom Fields и Carbon Fields, не получается один файл шаблона применить для разных страниц, вывод полей получается в разных местах.
    Слезать с шаблона из за этого не буду, хотя даже премиум темы в каком то смысле кажутся простыми, видимо потому что в них разобрался.

    • Артем

      17.06.2018

      Доброго! Использование хук и фильтров — это альфа и омега самого ВП. И если уметь ими пользоваться, то все получается довольно быстро и удобно.
      В Бейсике как раз все по классике, просто при такой структуре надо использоват проверки типа is_single

      • Михаил

        18.06.2018

        Попробую, конечно, не факт что выйдет. С кодом не очень, делаю методом тыка, сходу не вышло.

  • Мария

    17.07.2018

    Скажите пожалуйста, после смены темы на WP на тему Basic, у меня перестал в страницах выбираться шаблон из плагина WP OPTION, чтобы сделать отдельную страницу. Как это можно исправить?

    • Артем

      20.07.2018

      Не знаю, еще бы понимать, что это за плагин. Как исправить не знаю, это надо конкретно ваш случай смотреть

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *
php js HTML CSS Code