Стартовая тема Underscores для WordPress
Unyson
Установка
Установка через плагин
Встроенные расширения и опции
Page builder
Content demo install
Option types
Sidebars
Mega menu
Backup
Sliders
SEO
Breadcrumbs
Events
Portfolio
Feedback
Custom widgets
Contact forms
Create a WordPress theme with underscores
https://github.com/ThemeFuse/Unyson
The Ultimate Guide to Choosing a WordPress Theme Framework (Plus In-Depth Reviews)
Unyson: A Theme Framework by Themefuse
https://ru.wordpress.org/plugins/unyson/
Стартовая тема Underscores для WordPress
Стартовая тема Underscores поможет сэкономить время при разработке новых тем для WordPress.
Тема Underscores разработана сотрудниками компании Automattic. Цель данной темы — облегчить и ускорить разработку новых тем. Именно поэтому тема называется «стартовой» и не имеет никакого дизайна.
Сама по себе тема с таким внешним видом бесполезна, потому ее и не выложили в официальную директорию WordPress.org. Но если взглянуть на исходный код темы, то мы увидим хорошую основу для разработки новой темы:
- Чистая разметка HTML5 со всеми требуемыми шаблонами, тегами и функциями
- Поддержка произвольных изображений в заголовке
- Дополнительные функции для пагинации, вывода мета-данных и другие
- Поддержка изменения значений с помощью postMessage в конфигураторе тем WordPress
- Поддержка модуля бесконечного скролла плагина Jetpack
- Готовое подключение языковых пакетов и файл .pot
- Поддержка навигационного меню, форматов записей и виджетов
Генерируем стартовую тему при помощи Underscores.
Unyson
Unyson — это framework для WordPress, который облегчает разработку темы. Эта framework был создан с нуля командой разработчиков ThemeFuse из желания дать разработчикам возможность быстро и легко создавать выдающиеся темы WordPress.
Загрузите бесплатную версию Unyson Framework
Unyson framework бесплатний и всегда будет, так что вы можете создавать темы WordPress с помощью Unyson и иметь возможность продавать их в Theme Forest, Mojo Themes, Creative Market и других базах шаблонов. Unyson framework с открытым исходным кодом работают и с WordPress 4.0 и включают десять превосходных встроенных расширений:
- Drag & Drop Builder
- Shortcodes
- Portfolio
- Mega Menu
- Sidebars
- Styling
- Slider
- Breadcrumbs
- SEO
- Backup
На данный момент, с нашей стороны, это, наверное, самый мощный framework для WordPress. Почти все новые премиум темы WordPress включают платные плагины для функций, которые предоставляются бесплатно в Unyson.
Live Demo – Демо первой темы, построенной на Unyson
Unyson Page – Узнать больше о функциях и встроенных расширениях
Developer Manual – Все, что вам нужно знать о Unyson
GitHub Repository – Загрузите последнюю версию нашей платформы и опубликуйте ее.
Установка
Самый простой (рекомендуемый) способ установки фреймворка — через меню Plugins: найдите плагин с именем Unyson и нажмите кнопку Install.
Или вы можете установить плагин вручную:
- Загрузите папку unyson в каталог /wp-content/plugins/
- Активируйте плагин Unyson через меню Plugins
- Настройте плагин, перейдя в меню Unyson
Установка из любого места
framework можно поместить в любую директорию, которую вы хотите, просто добавьте файл bootstrap.php.
Вы можете включить файл bootstrap.php несколько раз, однако активна только первая включенная версия, все остальные включенные будут проигнорированы / неактивны.
Единственное, что вам нужно будет настроить — это каталог uri framework, чтобы статические файлы были помещены в очередь должным образом:
if (defined(‘FW’)):
// the framework was already included in another place, so this version will be inactive/ignored
else:
require dirname(__FILE__) .’/framework/bootstrap.php’;
endif;
Установка через плагин
Такая установка лучша тем что плагин может обновиться. Если мы устанавливаем через плагин то наша тема будет зависит от этого плагина. Пользователь который будет использовать нашу тему не знает что ему нужен Unyson плагин. Нужно сделать так чтобы наша тема активировала плагин Unyson когда сама активируеться. Для этого нам понадобиться плагин TGM Plugin Activation.
TGM Plugin Activation
TGM Plugin Activation – это легкая библиотека, которая позволяет связать тему со всеми необходимыми плагинами. Идея проста: пользователь, устанавливающий тему, получает рекомендации по установке плагинов из хранилища WordPress.org, внешнего сайта или каталога тем.
TGM Plugin Activation – это PHP-библиотека, которая позволяет вам рекомендовать установку нужных плагинов для своих тем WordPress (и плагинов). Библиотека позволяет вашим пользователям устанавливать и даже автоматически активировать плагины по отдельности или массово, используя родные классы, функции и интерфейсы WordPress. Вы можете запросить установку архивированных плагинов, плагинов из хранилища WordPress, а также плагинов, которые хранятся в любых других участках сети.
Установка TGM Plugin Activation
Встраивание функциональности плагинов в тему в целом не поощряется разработчиками, однако авторы по-прежнему нуждаются в способе поставки дополнительных расширений. Библиотека TGMPA – решение данной проблемы. Эта библиотека рекомендована Themeforest, CodeCanyon и командой обзора тем WordPress.org как альтернатива привязке к теме дополнительных расширений.
Новый генератор позволяет решить проблему, с которой авторы тем сталкивались при использовании TGMPA и публикации тем в WordPress.org.
Генератор Custom TGMPA просит у автора ввести тип расширения, в котором будет использоваться TGMPA, а также способ дистрибуции. Авторы также могут добавить текстовый домен, префикс функций и название плагина/темы. Генератор автоматически выводит файл с последней стабильной версией TGMPA и уже измененными строками.
Установка TGM Plugin Activation очень проста. Просто выполните следующие шаги:
- Cгенерировать архив TGM Plugin Activation tgmpluginactivation.com/download/.
- Сгенерированный архив нам нужно извлечь в папку нашей темы.
- В директории tgm-plugin-activation будет файл example.php с примером. Из файла example.php мы создадим свой файл step-by-step-tgm-plugin-activation.php
require_once dirname( __FILE__ ) . ‘/class-tgm-plugin-activation.php’;
add_action( ‘tgmpa_register’, ‘step_by_step_development_theme_unyson_register_required_plugins’ );
function step_by_step_development_theme_unyson_register_required_plugins() {
$plugins = array( /* The array to install plugins */ );
$config = array( /* The array to configure TGM Plugin Activation */ );
tgmpa( $plugins, $config );
}
- Подключаем файл step-by-step-tgm-plugin-activation.php в файле functions.php
/**
* Load TGM Plugin Activation.
*/
require get_template_directory() . ‘/tgm-plugin-activation/step-by-step-tgm-plugin-activation.php’;
Установка плагинов с помощью TGM Plugin Activation
Как вы могли видеть выше, переменная $plugins является массивом. Чтобы определить плагины, которые требуется установить, вам нужно создать массивы внутри данного массива (чтобы задавать собственные параметры для каждого плагина).
Вы можете использовать следующие параметры:
-
- name (string, required) – название плагина
- slug (string, required) – слаг плагина (обычно название его папки).
- required (boolean, required) – если задано в true, ваша тема будет «требовать» плагин. Если false, то «рекомендовать» его.
- source (string, в некоторых случаях required) – источник плагина. Если это плагин с WordPress.org, то в таком случае параметр не должен использоваться; иначе он требуется.
- version (string, optional) – минимальная версия плагина. Если пользователь темы уже имеет требуемый плагин, но с версией ниже, чем минимальная, то TGM Plugin Activation уведомит пользователя о необходимости обновления.
- force_activation (boolean, optional) – если задан в true, пользователь не сможет деактивировать плагин, пока ваша тема является активной. Немного раздражает, но очень важно для определенных случаев.
- force_deactivation (boolean, optional) – если задан в true, плагин будет деактивирован, как только пользователь сменит тему.
- external_url (string, optional) – если задан, название плагина будет привязано к данному адресу в уведомлении о требуемом плагине.
- is_callable (string|array) Дополнительные функции. Если плагин может быть установлен под двумя или более различными slugs — например, базовой версией и премиальной версией с использованием разных slugs -, он может быть неправильно распознан как активный.Установив is_callable в функцию function_name из этого плагина или метода класса — array (‘class’, ‘method’) — подобно тому, как вы подключаетесь к действиям и фильтрам — TGMPA все еще может распознавать плагин как активный.
У вас есть три варианта, чтобы заставить ваших пользователей установить плагины с помощью TGM Plugin Activation: вы можете потребовать плагин либо из хранилища плагинов WordPress, либо из внешнего источника (такого как ваш собственный сервер или CDN), либо из папки с вашей темой (как, к примеру, /my-theme/plugins/shortcodes.zip).
Требование плагина из WordPress.org
array(
‘name’ => ‘BuddyPress’,
‘slug’ => ‘buddypress’,
‘required’ => false,
),
Требование плагина из внешнего источника
array(
‘name’ => ‘TGM New Media Plugin’, // The plugin name.
‘slug’ => ‘tgm-new-media-plugin’, // The plugin slug (typically the folder name).
‘source’ => ‘https://s3.amazonaws.com/tgm/tgm-new-media-plugin.zip’, // The plugin source.
‘required’ => true, // If false, the plugin is only ‘recommended’ instead of required.
‘external_url’ => ‘https://github.com/thomasgriffin/New-Media-Image-Uploader’, // If set, overrides default API URL and points to an external URL.
),
Требование плагина из папки с темой
$plugins = array(
array(
‘name’ => ‘Unyson’,
‘slug’ => ‘unyson’,
‘source’ => get_template_directory() . ‘/lib/plugins/unyson.zip’,
‘required’ => true,
‘version’ => »,
‘force_activation’ => false,
‘force_deactivation’ => false,
‘external_url’ => »,
‘is_callable’ => »,
), );
Настройка TGM Plugin Activation
Обратите внимание на функцию tgmpa() с двумя параметрами в самом конце кода. Второй параметр – это переменная $config, которая также является массивом, как и $plugins. Как и следует из ее названия, вы можете настраивать библиотеку TGM Plugin Activation с помощью данного массива. Переменная принимает и свой собственный набор опций:
- id (string) – уникальный id для библиотеки TGM Plugin Activation в вашей теме. Это очень важно: если другие плагины также используют TGM Plugin Activation, разные ID предотвратят возможные конфликты.
- default_path (string) – дефолтный абсолютный путь для плагинов в вашей теме. Когда вы установите его, вы сможете использовать название ZIP-файла в качестве значения параметра source для вашего плагина.
- menu (string) – слаг меню для страницы установки плагинов.
- has_notices (boolean) – если задан в true, администраторские уведомления будут выдаваться для требуемых/рекомендованных плагинов.
- dismissible (boolean) – если задан в true, пользователь может «закрыть» уведомления.
- dismiss_msg (string) – если опция dismissible задана в false, данное сообщение будет показано над администраторским уведомлением.
- is_automatic (boolean) – если задано в true, плагины будут активированы после того, как пользователь согласится их установить.
- message (string) – дополнительный HTML, выводимый перед таблицей плагинов.
- strings (array) – массив, который включает в себя выводимые сообщения. Вы можете задавать их как транслируемые строки. Посмотрите файл example.php, чтобы увидеть полный список всех сообщений.
$config = array(
‘id’ => ‘step-by-step-development-theme-unyson’,
‘default_path’ => »,
‘menu’ => ‘tgmpa-install-plugins’,
‘parent_slug’ => ‘themes.php’,
‘capability’ => ‘edit_theme_options’,
‘has_notices’ => true,
‘dismissable’ => true,
‘dismiss_msg’ => »,
‘is_automatic’ => false,
‘message’ => »,
);
step-by-step-tgm-plugin-activation.php
require_once dirname( __FILE__ ) . ‘/class-tgm-plugin-activation.php’;
add_action( ‘tgmpa_register’, ‘step_by_step_development_theme_unyson_register_required_plugins’ );
function step_by_step_development_theme_unyson_register_required_plugins() {
$plugins = array(
array(
‘name’ => ‘Unyson’,
‘slug’ => ‘unyson’,
‘source’ => get_template_directory() . ‘/lib/plugins/unyson.zip’,
‘required’ => true,
‘version’ => »,
‘force_activation’ => false,
‘force_deactivation’ => false,
‘external_url’ => »,
‘is_callable’ => »,
), );
$config = array(
‘id’ => ‘step-by-step-development-theme-unyson’,
‘default_path’ => »,
‘menu’ => ‘tgmpa-install-plugins’,
‘parent_slug’ => ‘themes.php’,
‘capability’ => ‘edit_theme_options’,
‘has_notices’ => true,
‘dismissable’ => true,
‘dismiss_msg’ => »,
‘is_automatic’ => false,
‘message’ => », );
tgmpa( $plugins, $config ); }
Конвенция
framework был построен по некоторым правилам для обеспечения совместимости между компонентами и обеспечения более простого способа совместной работы разработчиков. Вот несколько исходных правил, чтобы иметь в виду:
- Код должен работать на php 5.2.4, как говорит WordPress Minimum Requirements. Не используйте функции php 5.3+, так как некоторые хостинг-провайдеры не имеют php 5.3+, установленных на серверах.
- Следуйте стандартам кодирования WordPress.
Встроенные расширения и опции
Page builder
Unyson поставляется с полноценным конструктором перетаскивания страниц для использования и позволяет вашим пользователям создавать бесчисленные страницы с использованием коротких shortcodes и мультимедиа.
Unyson поставляется со встроенным расширением Content Demo Install. Ваши пользователи смогут устанавливать тематический контент, поскольку он отображается на демонстрационном сайте вашей темы.
Option types
С помощью параметров вы можете легко создавать вкладки, поля и формы для страниц администратора. Мы создали более 20 типов опций, которые вы можете использовать для реализации своей темы Unyson.
Sidebars
Неограниченные боковые панели
Этот модуль позволит вашим пользователям настраивать страницы WordPress с динамическими боковыми панелями. Довольно полезно, если вам нужны разные боковые панели на разных страницах.
Mega menu
Пусть ваши пользователи создают расширенную навигацию, используя встроенное Mega Menu. Включаются различные варианты, и мы также добавили опцию для значков.
Backup
Ваши пользователи смогут создавать резервные копии непосредственно у администратора WordPress, а также устанавливать расписание резервного копирования, которое будет выполняться автоматически: ежедневно, еженедельно или ежемесячно.
Sliders
В Unyson очень просто реализовать различные sliders. Чтобы сделать вашу жизнь еще проще, мы уже создали три из них, которые поддерживают изображения и видео.
SEO
У Unyson есть встроенный модуль SEO. У ваших пользователей и клиентов будет много настроек SEO на кончиках пальцев без установки дополнительных плагинов.
Breadcrumbs
Unyson поставляется со встроенным расширением breadcrumbs. Довольно маленький модуль, который действительно пригодится, когда вы захотите быстрее и проще перемещаться по сайту.
Events
Unyson поставляется со встроенным расширением Events. Он довольно прост в использовании и содержит Calendar и Map shortcodes. Просмотрите их в предварительном просмотре демо-версии.
Portfolio
Unyson поставляется со встроенным в Portfolio Module. Он довольно прост в использовании и имеет довольно аккуратные анимации фильтрации. Просмотрите их в предварительном просмотре демо-версии.
Feedback
Мы добавили способ для пользователей отправлять отзывы и оценки событий, проектов и т. Д. Это добавит еще один уровень взаимодействия между конечным пользователем и владельцем сайта.
Custom widgets
Мы определили и создали несколько пользовательских виджетов, которые вы можете использовать: социальный виджет, Flickr и виджет для вкладок в блогах, а также более поздние обновления.
Contact forms
Unyson поставляется со встроенным модулем Contact Form. Он довольно прост в использовании и работает так же, как и компоновщик страниц. Просмотрите их в предварительном просмотре демо-версии.

