Как опубликовать свою тему в директорию wordpress
Post on 15-Apr-2017
448 Views
Preview:
TRANSCRIPT
Как опубликоватьсвою тему в директориюWordPress
Дмитрий Майоров / www.themepatio.com
WordCamp Moscow 2016
themepatio.com/themes/maker
Зачем это делать?
Зачем выпускать тему
- Обратная связь
- Прокачать свои навыки
- Делиться хорошо
1. GPL
Принципы лицензии
- Использовать для любых целей
- Изучать исходный код
- Изменять исходный код
- Распространять без ограничений
Как сделать тему GPL-friendly?
/*Theme Name: MakerAuthor: ThemePatioText Domain: makerLicense: GNU GPL v2 or laterLicense URI: http://www.gnu.org/licenses/gpl-2.0.html
Указать лицензию в style.css
=== Maker ===Contributors: iamdmitrymayorovVersion: 0.2.0License: GNU GPL v2 or laterLicense URI: http://www.gnu.org/licenses/gpl-2.0.htmlTags: black, gray, red, white, dark, light,
Указать лицензию в readme.txt
TypiconsAuthor: Stephen HutchingsLicense: SIL (http://scripts.sil.org/OFL)URL: http://typicons.com/
Используйте GPL ресурсы
Chair & TableAuthor: Jordan SanchezLicence: CC0 1.0URL: https://unsplash.com/photos/KyB-Eo4xS_c
Используйте GPL картинки
Проверить совместимостьwww.gnu.org/licenses/license-list.en.html
#GPLCompatibleLicenses
2. Не начинайте с нуля
Underscores (_s)underscores.me
Componentscomponents.underscores.me
3. Требования
<head>...<script src=’theme.js’></script>...</head>
3.1 Не встраивайте стили и скрипты
wp_enqueue_script( ‘maker-custom’, get_template_directory_uri() .‘theme.js’,);
functions.php
wp_enqueue_script( ‘jquery’ );
functions.php
Список библиотек и инструментовв ядре WordPressdeveloper.wordpress.org/reference/functions/
wp_enqueue_script/
3.2 Используйте префиксы
- Функции
- Классы
- События и фильтры
- Глобальные переменные
- Записи в БД
function output() { // Код функции.}
Плохой пример
function maker_entry_meta() { // Код функции.}
Хороший пример
3.3 Валидация ввода, экранирование вывода
5 000 000 / 50 = 100 000 руб/м2
договорн. / 50 = ?
sanitize_text_field( $input )
Валидация ввода
$wp_customize->add_setting( ‘footer’, array( ‘sanitize_callback’ => ‘sanitize_text_field’,) );
Валидация ввода
esc_html( $output );
Экранирование вывода
// Get the data.$prefix_name = get_theme_mod( ‘footer’ );
// Escape as a late as possible and display.echo esc_html( $prefix_name );
Экранирование вывода
Подробнееcodex.wordpress.org/Data_Validation
3.4 Переводимые строки
echo ‘Комментарии’;
Шаблон для клиента
echo __( ‘Comments’, ‘themeslug’ );
Тема для директории
_e( ‘Comments’, ‘themeslug’ );
Тема для директории
esc_html_e( ‘Comments’, ‘themeslug’ );
Тема для директории
Подробнее об I18Ncodex.wordpress.org/I18n_for_WordPress_Developers
3.5 Территория тем и плагинов
Подробнее о требованияхmake.wordpress.org/themes/handbook/
review/required
4. Учитесь у других
4.1. Изучайте стандартные темы
5. Тестирование
define( ‘WP_DEBUG’, true );
5.1 wp-config.php
5.2 Theme Checkwordpress.org/plugins/theme-check
5.3 Codesniffer with WPCSgithub.com/WordPress-Coding-Standards/
WordPress-Coding-Standards
5.4 Theme Unit Testcodex.wordpress.org/Theme_Unit_Test
5.5 Monster Widgetwordpress.org/plugins/theme-check
5.6 Настоящий контент
6. Учавствуйте в проверке тем
7. Не усложняйте
Вопросы?Дмитрий Майоров / www.themepatio.com
WordCamp Moscow 2016
top related