• CSS
    • ПРОГРАММИРОВАНИЕ (CODING)
    • Emmet, ul, li, table, form
    • Style, hover, child
    • CSS Hat, font, background
    • Reset, margin, padding, float
    • Base64, relative, z-index
    • Google Fonts, PSD
    • Brackets, Bootstrap
    • Script, src, comments
    • jQuery, Slick Js, Tooltip
    • Bootstrap, Slick Nav, @media
    • Mobile Vew, Font Awesome
    • SASS, Bootstrap
    • Flexbox, Slider
  • Word Press
    • #1. Introduction to WordPress
    • #2. WordPress Files Configuration
    • #3. Kernel Review. Codex
    • #4. Standards of Encoding
    • #5. Develop a plugin, introduction
    • #6. Hooks, Filters, InterNation
    • #7. Adding Admin Menus, JS, CSS
    • #8. HTTP API, Shortcodes, Transients
    • #9. Options API, Settings API
    • #10. Database API, $wpdb object
    • #11. Ajax. Widget API. Dashboard API
    • #12. Post Type. Taxonomies. Metadata
    • #13. Theme Development. Basics
    • #14. Loop. Template. WP_Query
    • #15. File functions.php – I
    • #16. File functions.php – II
    • #17. Child Theme. Shortcode. TinyMCE
    • #18. Frameworks. Blank Theme
    • #19. Framework. Underscores. Unyson
    • #20: Framework Unyson. Options
    • #21. Extensions, Components, Manifest
    • #22. Unyson: Built-in Extensions
    • #23. Unyson: Helpers, Filters & Actions
    • #24. WC: Installation & Updating
    • #25. WC: Settings & Options
    • #26. WC: Product Setup
    • #27. WC: Sell Products, Order
    • #28. WC: Theming
    • #29. WC: Extending
    • #30. WC: Extending
  • PHP
    • Laravel, MVC, Composer
    • FW Yii2
  • JS
    • JS
    • React, Angular
  • Freelance
  • Projects
    • Useful Products
      • Free WordPress Themes (WP)
      • Free CSS templates (CSS, HTML)
      • Стартовая тема Word Press (WP)
    • Project
      • Practic Task
      • Real Democracy Game
      • Research Journal
      • Qubot
      • Cyber-street
      • Amatue

#13. Theme Development. Basics

Rostyslav - 7 января, 2018 - One comment

    Зачем нужны темы WordPress

    Стандарты создания тем

    Что такое тема?

    Анатомия Темы

    Таблица стилей темы

    Файлы шаблонов темы

    Базовые шаблоны

    Выбор шаблонов, основанный на запросах

    Файл дополнительного функционала

    Изображения и ресурсы

    Плагины

    Перечень стандартных файлов шаблонов темы

    Необходимые вызовы событий для совместимости

    Основы шаблонов

    Структура страницы WordPress

    Основные файлы шаблона

    Более сложные структуры страниц

    А где все остальное?

    Файлы шаблонов внутри файлов шаблонов

    Специальные файлы шаблона

    Создание своей темы

    Основной файл: style.css

    index.php

    header.php

    footer.php

    sidebar.php

    screenshot.png

    functions.php

    Theme Handbook

    Создание тем

    Создание темы для WordPress с нуля

    Документация для разработчика

    Справочник по функциям

    Template Hierarchy

    Template Files

    Иерархия шаблонов

    Основы шаблонов

    Шаблоны

    Анатомия темы WordPress

    Что такое шаблон темы в WordPress

    Как сверстать тему для WordPress

    Themeforest

    Анатомия Темы

    Темы WordPress находятся в поддиректориях wp-content/themes/. Директория темы содержит таблицы стилей, файлы шаблонов, файл дополнительного функционала functions.php и картинки. К примеру, тема под названием «test» может быть расположена в директории wp-content/themes/test/.

    Есть только два обязательных файла для темы WordPress:

    index.php — главный файл шаблона

    style.css — главный файл стиля

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

    находится в начале файла style.css:

    /*   

    Theme Name: Rose

    Theme URI: домашняя-страница-темы

    Description: краткое-описание-темы

    Author: ваше-имя

    Author URI: ваш-URI

    Template: напишите-здесь-наименование-родительской-темы—необязательное-поле

    Version: номер-версии—необязательное-поле

    Развёрнутое описание темы/Лицензия-если-нужно.

    .

    */

    /*

    Theme Name: Twenty Seventeen

    Theme URI: https://wordpress.org/themes/twentyseventeen/

    Author: the WordPress team

    Author URI: https://wordpress.org/

    Description: Twenty Seventeen brings your site to life with immersive featured images and subtle animations.

    Version: 1.0

    License: GNU General Public License v2 or later

    License URI: http://www.gnu.org/licenses/gpl-2.0.html

    Text Domain: twentyseventeen

    Tags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready

    This theme, like WordPress, is licensed under the GPL.

    Use it to make something cool, have fun, and share what you’ve learned with others.

    */

    • Theme Name (*): Название темы.
    • Theme URI: Адрес публичной веб-страницы, где пользователи могут найти более подробную информацию о теме.
    • Author: Имя автора.
    • Author URI: URL автора.
    • Description (*): Краткое описание темы.
    • Version (*): Версия, написанная в X.X или X.X.X формате.
    • License (*): Лицензия.
    • License URI (*): URL-адрес лицензии темы.
    • Text Domain: Строка, используемая для textdomain для перевода.

    Tags: Слова или фразы, которые позволяют пользователям найти тему с помощью фильтра тега. Полный список тегов в  Theme Review Handbook.

    Простейшая тема включает в себя только файл style.css плюс изображения, если они необходимы. Для создания такой темы необходимо в строке заголовка Template: указать имя родительской темы. Например, если ваша тема «Rose» происходит (наследует) от темы «test», напишите в заголовке style.css следующую строку:

    Template: test

    После добавления такой строки в заголовок style.css все шаблоны темы «test» будут наследоваться вашей темой «Rose», в которой ничего нет, кроме файла с таблицей стилей style.css, и возможно, рисунков. Эти файлы необходимо поместить в каталог wp-content/themes/Rose.

    Тема-потомок может содержать файлы-шаблоны, имена которых совпадают с именами шаблонов в родительской теме, в админ-панели можно выбрать эти шаблоны для использования, и они будут использоваться вместо родительских.

    Комментарии в заголовке style.css нужны WordPress для идентификации темы и отображения ее в Administration Panel подменю Design > Themes в качестве установленной темы вместе с другими установленными темами.

    Когда вы определяете родительскую тему, в строке комментариев Template: , вы должны использовать имя каталога темы. Например, для использования темы «Twenty Sixteen», не пишите Template: Twenty Sixteen, а пишите Template: twentysixteen, поскольку «twentysixteen» — это имя каталога родительской темы.

    Шаблоны

    Файлы шаблонов это основной строительный материал сайта на WordPress. Они соединяются вместе как кусочки пазла для формирования web-страниц. Зачастую header и footer используется на всех страницах сайта. Традиционная web-страница состоит из двух файлов:

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

    Структура страницы WordPress

    • Заголовок содержит всю информацию, которая должна быть наверху — т.е. внутри тега <head> — вашей XHTML web-страницы, так же, как и теги <doctype>, <meta> и ссылки на таблицы стилей. Он также включает открытый тег <body> и видимый заголовок вашего блога (который обычно содержит название сайта, а также может содержать навигационное меню, логотип, описание сайта и т.д.).
    • Блок контента содержит записи и страницы вашего блога, т.е. «основу» сайта.
    • Подвал содержит информацию, которая находится в самом низу страницы, например ссылки на остальные страницы или категории сайта в меню, авторские права, контактную информацию и т.п.

    Основные файлы шаблона

    Чтобы сформировать структуру темы WordPress, начните с файла шаблона index.php в папке вашей темы. У этого файла две основные функции:

    • Включить или «вызвать» другие файлы шаблона
    • Включить цикл WordPress для получения информации из базы данных (записи, страницы, категории и т.д.)

    В нашей упрощенной структуре нам достаточно включить два других файла шаблона: заголовок и подвал. Они должны быть названы header.php и footer.php. Теги шаблонов, которые включают их, выглядят так:

    get_header();

    get_footer();

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

    get_sidebar(); 

    Если нужно показать записи и страницы вашего блога (и настроить их внешний вид), файл index.php должен запустить цикл WordPress между вызовами файлов заголовка и подвала.

    Заметьте, что мы не включили шаблонный тег для «получения» контента нашей web-страницы. Это потому, что контент формируется в цикле WordPress, внутри index.php. Также стоит отметить, что таблицы стилей темы определяют внешний вид и положение заголовка, подвала, боковой панели и контента в браузере пользователя. Чтобы узнать больше об изменении дизайна ваших тем WordPress и web-страниц, смотрите Дизайн и раскладка блога.

    Файл шаблона index.php является весьма гибким. Его можно использовать так, что в него добавлены все ссылки на заголовок, боковую панель, подвал, содержание, категории, архивы, поиск, страницы ошибок и другие необходимые веб-страницы, создаваемые пользователем на вашем сайте. В другом варианте построения темы можно разработать другие модульные файлы шаблонов, каждый из которых примет на себя часть функционала.

    Если вы не добавите в тему свои собственные файлы шаблонов, WordPress будет использовать встроенные файлы шаблонов по умолчанию. Например, если у вас в теме нет файлов шаблонов: ни comments.php, ни comments-popup.php, то WordPress будет автоматически использовать стандартные wp-comments.php и wp-comments-popup.php файлы шаблонов, согласно иерархии шаблонов Template Hierarchy. Эти шаблоны по умолчанию скорее всего не будут соответствовать стилям вашей темы, так что вам придется разработать свои ​​собственные файлы шаблонов. Вот основные файлы, которые обычно используют для разделения вида страниц (и которые должны быть в каталоге темы):

    • header.php
    • sidebar.php
    • footer.php
    • comments.php
    • comments-popup.php

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

    • для добавления шаблона header.php используйте get_header() template tag
    • для добавления шаблона sidebar.php используйте get_sidebar() template tag
    • для добавления шаблона footer.php используйте the get_footer() template tag

    пример включения шаблонов:

    get_sidebar(); 

    get_footer(); 

    Более подробную информацию о том, как разрабатывать различные шаблоны и как они работают, и каким образом генерировать различную информацию в них, читайте в документации Templates.

    WordPress позволяет программисту использовать различные варианты для подключения шаблонов из набора шаблонов: во-первых, с использованием иерархии шаблонов Template Hierarchy, во-вторых — с использованием условных тегов Conditional Tags внутри цикла обработки The Loop файлов шаблона. В первом случае, при использовании иерархии шаблонов Template Hierarchy, необходимо создать специальные файлы шаблонов, которые будут автоматически использоваться в необходимый момент для создания страницы вместо базового шаблона index.php. Например, если ваша тема содержит шаблон под названием category.php и пришёл запрос на страницу с категорией, шаблон category.php будет загружен вместо шаблона index.php. Если файл category.php в теме отсутствует, будет загружен шаблон index.php, как обычно.

    Вы можете определить шаблон для конкретной категории, например, добавив в тему файл шаблона category-6.php. Файл будет использован вместо index.php в том случае, когда ID категории будет равен 6. Более детально этот процесс рассмотрен в Category Templates.

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

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

    <?php

    if (is_category(9)) {

      // для постов 9 категории

      include(TEMPLATEPATH . ‘/single2.php’);

    } else {  // для других постов

      include(TEMPLATEPATH . ‘/single1.php’); } ?>

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

    <?php

    $post = $wp_query->post;

    if ( $post->in_category(‘9’) ) {

      include(TEMPLATEPATH . ‘/single2.php’);

    } else {

      include(TEMPLATEPATH . ‘/single1.php’); } ?>

    В любом случае, оба примера кода будут вызывать различные шаблоны, в зависимости от ID категории. Условные теги не ограничиваются категориями, см. статью Conditional Tags, в ней рассмотрены все возможные варианты.

    functions.php

    Тема может дополнительно использовать файл с необходимыми функциями для работы темы, он должен располагаться в каталоге темы и называться functions.php. Этот файл в основном работает подобно плагину, и если он присутствует в каталоге темы, которую вы используете, то он автоматически загружается во время инициализации WordPress. Предлагается следующее использование для этого файла:

    • определение функций, используемых в файлах шаблонов вашей темы;
    • настройки в админке вашей темы, которые предоставляют пользователям варианты настроек цветов, стилей или других аспектов вашей темы.
    • файл functions.php в основном работает как плагин, раздел Кодекса Function_Reference — лучшее место, где можно получить более подробную информацию.

    Изображения и ресурсы

    Тема может содержать файлы изображений, файлы JavaScript, плагины jQuery. Эти ресурсы используются в теме чтобы придать сайту внешний вид. Как эти файлы структурировать зависит от вас. Обычно они помещаются в подпапку основной директории темы ( img/, images/, assets/, js/ ) в зависимости от типа файла.

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

    Стандартные файлы шаблонов темы

    style.css

    Главный файл таблицы стилей. Файл должен быть в теме обязательно и обязательно должен содержать описанные выше комментарии в заголовке файла.

    index.php

    Главный файл шаблонов. Если вы в своей теме используете свои шаблоны, этот файл index.php обязателен.

    comments.php

    Шаблон комментариев. Если его нет, используется файл comments.php из темы по умолчанию.

    comments-popup.php

    Добавляет всплывающее меню для комментариев на JS. При отсутствии вызывается comments-popup.php из темы по умолчанию.

    home.php

    Шаблон главной страницы блога.

    single.php

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

    page.php

    Шаблон отдельной страницы, используется для отображения запрошенной страницы Page.

    category.php

    Шаблон категории category template. Используется при запросе категории.

    author.php

    Шаблон автора блога author template. Используется при запросе автора блога.

    date.php

    Шаблон вывода даты-времени. Используется при запросе даты и времени. Год, месяц, день месяца, час, минута, секунда.

    archive.php

    Шаблон архива. Используется, когда запрошены категория, автор или дата. Учтите, что этот шаблон может быть переопределен шаблонами category.php, author.php и date.php для соответствующих типов запросов.

    search.php

    Шаблон результатов поиска. Используется после выполнения поиска.

    404.php

    Шаблон для сообщения об ошибке 404 Not Found . Используется, когда WordPress не может найти сообщение или страницу, которая соответствует запросу.

    Эти файлы имеют специальное значение в WordPress, поскольку они используются для замены index.php, когда они есть в каталоге темы, в соответствии с иерархией шаблонов Template Hierarchy, и когда поступил соответствующий запрос; или же в соответствии с истинностью условных тегов Conditional Tag, когда функция типа is_*(); возвращает ‘true’.

    Например, если требуется отобразить единственный пост, функция is_single() возвращает ‘true’, и в каталоге активной темы есть файл шаблона single.php , этот шаблон используется для создания страницы.

    Необходимые вызовы событий (для совместимости)

    При разработке темы желательно иметь в виду, что ваша тема должна быть настроена таким образом, что она может хорошо работать с любым плагином для WordPress, который вы или другой пользователь вашей темы захочет установить. Плагины расширяют функциональные возможности WordPress с помощью перехвата событий («Action Hooks»  для получения дополнительной информации). Большинство событий происходит в ядре WordPress, так что вашей теме нет необходимости вызова перехваченных специальных событий для своей работы. Но некоторые перехваченные события всё же придётся вызывать, для того, чтобы устанавливаемые плагины корректно отображали информацию, непосредственно в заголовке (верхнем колонтитуле) и подвале (нижнем колонтитуле), в боковой панели, или в основном теле страницы. Вот список специальных тегов событий, которые необходимо вызывать в вашей теме для корректной работы любых плагинов:

    wp_head

    Происходит при отображении HTML кода элемента <head> в шаблоне header.php. Пример использования в плагине: добавление кода javascript.

    Использование: <?php do_action(‘wp_head’); ?>

    -или-  <?php wp_head(); ?>

    wp_footer

    Происходит при отображении заголовка (верхнего колонтитула) «footer» темы в шаблоне footer.php. Пример использования в плагине: вставка кода PHP, который должен выполняться после всего, самым последним на странице.

    Использование: <?php do_action(‘wp_footer’); ?>

    -или-  <?php wp_footer(); ?>

    wp_meta

    Событие обычно происходит при обработке тега <li>Meta</li> при отрисовке меню или в меню боковой панели в шаблоне sidebar.php. Пример использования: включение круговой рекламы или облака тегов в боковую панель.

    <?php do_action(‘wp_meta’); ?>

    -или-  <?php wp_meta(); ?>

    comment_form

    Происходит при отработке скриптов шаблонов comments.php и comments-popup.php, непосредственно перед закрытием тега формы комментариев (</form>). Пример использования: Показать предпросмотр только что добавленных комментариев.

    <?php do_action(‘comment_form’, $post->ID); ?>

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

    Файлы шаблонов внутри других файлов шаблонов

    Вы узнали, как WordPress включает стандартные файлы шаблона (заголовок, подвал и боковую панель) в файле index.php. Но вы также можете включить и другие файлы шаблона в любом из ваших файлов.

    Например, sidebar.php может содержать файл шаблона, который формирует строку поиска — searchform.php. Т.к. это не один из стандартных файлов шаблона WordPress, код для включения будет немного отличаться:

    <?php get_search_form(); ?>

    Нам больше не нужно использовать «include» и «TEMPLATEPATH» для вставки

    нашей формы поиска в темы, т.к. WordPress предоставляет нам вышеуказанный

    тег шаблона.

    Множество тем WordPress включают в себя различные файлы шаблона для формирования web-страниц на сайте. Ниже приведен список типичных файлов для основного шаблона (index.php) сайта на WordPress:

    • header.php
      • theloop.php (контент)
      • wp-comments.php
    • sidebar.php
      • searchform.php
    • footer.php

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

    Создание своей темы: style.css

    /*

    Theme Name: Step By Step Development Theme

    Theme URI: https://github.com/SolomashenkoRoman/step-by-step-development-theme

    Author: the romansolomashenko

    Author URI: https://www.linkedin.com/in/solomashenkoroman/

    Description: Step by step development of the theme.

    Version: 1.0

    License: GNU General Public License v2 or later

    License URI: http://www.gnu.org/licenses/gpl-2.0.html

    Text Domain: step-by-step-development-plugin

    Tags: one-column

    This theme, like WordPress, is licensed under the GPL.

    Use it to make something cool, have fun, and share what you’ve learned with others.

    */

    index.php

    Для темы я буду использовать бесплатную верстку. Файл index.php — шаблон вашего сайта по умолчанию. У WordPress есть встроенный движок принятия решений, который определяет, какой тип информации запрошен пользователем, а после этого решает, есть ли для этого типа файл шаблона. Шаблон index. php является предустановленным. Если WordPress не находит специального шаблона, он берет index.php. Обычно файл index.php содержит стандартный цикл. Это традиционный формат блога, в котором записи отображаются в обратном хронологическом порядке.

    <?php if ( have_posts() )  ?>

       <?php while ( have_posts() ) : the_post(); ?>

           <?php get_template_part( ‘template-parts/content’, get_post_format() ); ?>

    <?php endwhile; ?>

    <?php else ?>

       <?php get_template_part( ‘template-parts/content’, ‘none’ ); ?>

    <?php endif; ?>

    get_template_part( $slug, $name )

    $slug(строка) (обязательный) название файла, который нужно подключить, по умолчанию: нет

    $name(строка) дополнительное название файла, то же самое, что параметр $name в функциях get_footer(), get_header() и т.п., по умолчанию: нет

    Предназначена для поиска и подключения разных частей темы. Похожа на PHP функцию include(), только тут не нужно указывать путь до темы.

    Обычно get_template_part() используется для подключения файла (части шаблона) в сам шаблон.

    Пример (файл из подпапок)

    Если подгружаемые части находятся в папках то в первый параметр нужно указать относительный путь до файла:

    get_template_part(‘template-parts/content’); // получит файл template-parts/content.php

    header.php

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

    Создавая файл шаблона заголовка, важно включить функцию WordPress wp_head(). Это зацепка, позволяющая WordPress прикреплять определенную функциональность к заголовку сайта, она также используется плагинами. Функция wp_head() включается в HTML-узел <head> и является критически важной для долгосрочной совместимости и функциональности темы. Так что убедитесь, что она на месте.

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

    get_header( $name );

    Подключает файл шаблона header.php (шапку). Если передан параметр $name, то будет подключен файл header-{name}.php.

    Если файл не найден в шаблоне темы, то будет взят файл по умолчанию: wp-includes/theme-compat/header.php

    get_header( $name ) индекс названия файла, который нужно подключить: header-{name}.php, по умолчанию: нет

    Пример. Разные файлы header.php (шапки) для разных страниц

    if ( is_home() ){ get_header(‘home’); }

    elseif ( is_404() ) { get_header(‘404’); }

    else { get_header(); } 

    footer.php

    Не забудьте убедиться, что вы добавили функцию wp_footer()  в шаблон. Это функция позволяет WordPress включать любую необходимую информацию из активированных плагинов и, как правило, включает закрывающие теги </body></html>

    Как и в случае включения шаблона заголовка, WordPress предлагает схожую функциональность для информации «подвала» с отдельной специальной функцией включения. Добавьте следующий код в нижнюю часть файлов шаблона:

    get_footer()

    Подключает файл footer.php. Если указано имя в параметре, то будет подключен файл: footer-{name}.php из шаблона темы. Если шаблон не будет найден, тогда подключится файл по умолчанию wp-includes/theme-compat/footer.php.

    get_footer( $name ); // $name (строка) индекс названия файла, будет подключен файл footer-{name}.php, по умолчанию: нет.

    Разные подвалы (футеры) для разных страниц:

    if ( is_home() ) 

     get_footer(‘home’);

    elseif ( is_404() ) :

     get_footer(‘404’);

    else 

     get_footer();

    endif; 

    sidebar.php

    Еще один кандидат для выделения — боковая панель, то есть все, что находится слева или справа от контента. Боковая панель может содержать навигацию по сайту, если выбрана вертикальная схема навигации, или менее важную дополнительную информацию по контенту. Тема Twenty Seventeen позволяет делать левую или правую боковую панель, используя один файл sidebar.php и помещая его с CSS. Однако у вас может быть много файлов боковых панелей для каждой колонки или специфических боковых панелей на разных страницах.

    При работе с боковыми панелями нужно иметь в виду ряд различных проблем. Сначала необходимо решить, сколько боковых панелей вам нужно, затем — будут они статичными, с виджетами или гибридными. Наконец, следует определить, как структурирован HTML, чтобы CSS мог помещать боковые панели в нужные места. Затем нужно провести проверку во всех целевых браузерах. Такова жизнь веб-разработчика.

    Как уже было отмечено, боковые панели Twenty Seventeen представляют собой один файл, неважно, правая панель или левая, и полностью виджетированы. Это позволяет делать заготовку файла с относительной легкостью и использовать консоль WordPress для размещения виджетов по необходимости. В файлы шаблонов index.php нужно поместить следующий код, чтобы добавить файл sidebar.php: get_sidebar();

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

    Например: get_sidebar(‘right’);

    screenshot.png

    Создать скриншот для вашей темы. Скриншот должен быть назван screenshot.png и помещён в каталог верхнего уровня. Скриншот предназначен для того, чтобы точно показать дизайн темы и сохранить в формате PNG. Рекомендуемый размер изображения 1200×900. Скриншот будет показан только как 387×290 кроме HiDPI дисплеев.

    Функции  регистрации script и style (из лекции 7)

    Добавляет дополнительный javascript код к уже зарегистрированному скрипту wp_add_inline_script()

    Добавляет дополнительный блок CSS стилей. CSS добавляются прямо в html документ, после основных (указанных) стилей wp_add_inline_style()

    Отменяет подключение скрипта, который был добавлен в очередь ранее wp_dequeue_script()

    Удаляет ранее зарегистрированный скрипт  wp_deregister_script()

    Подключает все файлы необходимые для использования медиа API WordPress (окно загрузки и выбора файлов). Функция подключает скрипты, стили, настройки и шаблоны wp_enqueue_media()

    Правильно подключает скрипт (JavaScript файл) на страницу wp_enqueue_script()

    Правильно добавляет файл CSS стилей. Регистрирует файл стилей, если он еще не был зарегистрирован wp_enqueue_style()

    Локализует (переводит) jQuery скрипт выбора даты: jQuery UI datepicker wp_localize_jquery_ui_datepicker()

    Добавляет дополнительные данные перед указанным скриптом, который должен быть в очереди на вывод wp_localize_script()

    Регистрирует файл скрипта, чтобы в дальнейшем подключать его используя функцию wp_enqueue_script(), которая сохраняет последовательность загрузки скриптов wp_register_script()

    Регистрирует CSS файл в WordPress. После регистрации файл можно добавить в html документ с помощью функции wp_enqueue_style() wp_register_style()

    Добавляет данные к подключенным на странице скриптам с помощью wp_enqueue_script(). Используйте когда, например нужно выводить скрипт только для «IE 6» или «lt IE 9» (меньше IE 9) wp_script_add_data()

    Определяет был ли скрипт зарегистрирован или добавлен в очередь на вывод, или выведен на экран, или ожидает вывода wp_script_is()

    Добавляет данные для подключаемых с помощью wp_enqueue_style() файлов стилей. Используйте когда, например нужно подключить стили только для IE wp_style_add_data()

    Определяет был ли файл стилей зарегистрирован, добавлен в очередь на вывод, выведет на экран или ожидает вывода wp_style_is()

    Hooks

    Front-End Hooks

    • wp_enqueue_scripts
    • wp_print_scripts
    • wp_print_styles

    Admin Hooks

    • admin_enqueue_scripts
    • admin_print_scripts
    • admin_print_styles

    Login Hooks

    • login_enqueue_scripts

    Как подключать CSS стили и JS скрипты в тему WordPress

    Самый простой способ подключения, это открыть файл header.php и с помощью обычной директивы <link> подключить свои CSS стили. Примерно также можно поступить и с JS скриптами, подключив их тегом  <script> в шапке или футере сайта — header.php или footer.php. Выглядеть это будет вот так.

    стили:

    <link href=»<?= bloginfo(‘template_directory’); ?>/css/style.css?v=1.5″ rel=»stylesheet» type=»text/css» />

    <link href=»<?= bloginfo(‘template_directory’); ?>/css/addon.css?v=1.1″ rel=»stylesheet» type=»text/css» />

    <link href=»<?= bloginfo(‘template_directory’); ?>/libs/owl-carousel/owl.carousel.css» rel=»stylesheet»>

    скрипты:

    <script src=»<?= bloginfo(‘template_directory’); ?>/libs/owl-carousel/owl.carousel.min.js»></script>

    <script src=»<?= bloginfo(‘template_directory’); ?>/libs/reveal/jquery.reveal.js» type=»text/javascript»></script>

    <script src=»<?= bloginfo(‘template_directory’); ?>/js/common.js»></script>

    Такой способ хоть и является рабочим, но не является правильным. Как минимум могут возникнуть проблемы с плагинами кэширования — они не будут корректно видеть css и js файлы темы, которые необходимо минимизировать, объединять в один файл или кэшировать.

    Корректно делать эти подключения с помощью специальных PHP функций внутри файла functions.php вашей темы

    Categories : Word Press, www

    • « Previous Post
    • Next Post »

    Discussions

    1. admin 8 января, 2018

      — запустил новую тему WP Coding Homework
      — активировал дочернюю тему WP Coding Homework
      — «правильно» подключил стиль в functions.php:

      function wp_homework_register_styles() {
      wp_register_style( ‘my-homework-theme’, get_stylesheet_directory_uri() . ‘/css/hwstyle.css’ );
      wp_enqueue_style( ‘my-homework-theme’ );
      }
      add_action( ‘wp_enqueue_scripts’, ‘wp_homework_register_styles’ );

      — включил новый футер
      — унаследовал index.php и другие шаблоны родительской темы

    • Word Press
      • #1. Introduction to WordPress
      • #2. WordPress Files Configuration
      • #3. Kernel Review. Codex
      • #4. Standards of Encoding
      • #5. Develop a plugin, introduction
      • #6. Hooks, Filters, InterNation
      • #7. Adding Admin Menus, JS, CSS
      • #8. HTTP API, Shortcodes, Transients
      • #9. Options API, Settings API
      • #10. Database API, $wpdb object
      • #11. Ajax. Widget API. Dashboard API
      • #12. Post Type. Taxonomies. Metadata
      • #13. Theme Development. Basics
      • #14. Loop. Template. WP_Query
      • Lecture #15. functions.php – I
      • Lecture #16. functions.php – II
      • #17. Child Theme. Shortcode. TinyMCE
      • #18. Frameworks. Blank Theme
      • #19. Framework. Underscores. Unyson
      • #20: Framework Unyson. Options
      • #21. Extensions, Components, Manifest
      • #22. Unyson: Built-in Extensions
      • #23. Unyson: Helpers, Filters & Actions
      • #24. WC: Installation & Updating
      • #25. WC: Settings & Options
      • #26. WC: Product Setup
      • #27. WC: Sell Products, Order
      • #28. WC: Theming
      • #29. WC: Extending
      • #30. WC: Extending
    • CSS
      • ПРОГРАММИРОВАНИЕ (CODING)
      • Emmet, ul, li, table, form
      • Style, hover, child
      • CSS Hat, font, background
      • Reset, margin, padding, float
      • Base64, relative, z-index
      • Google Fonts, PSD
      • Brackets, Bootstrap
      • Script, src, comments
      • jQuery, Slick Js, Tooltip
      • Bootstrap, Slick Nav, @media
      • Mobile Vew, Font Awesome
      • Flexbox, Slider
      • SASS, Bootstrap
    • Cron
    • Framework Yii2
    • React, Angular
    • JavaScript
    • Freelance

    Generic selectors
    Exact matches only
    Search in title
    Search in content
    Search in posts
    Search in pages
    Filter by Categories
    CSS
    JavaScript
    Word Press
    www

    2019 Rostyslav N Design © Уроки программирования