add_theme_support()
Реєструє підтримку нових можливостей теми WordPress (підтримка мініатюр, форматів записів і т.д.).
Якщо функція викликається з теми, вона повинна перебувати у файлі functions.php. Також її можна викликати з плагіна, підключивши до події (хуку): after_setup_theme .
Важливо: Завжди викликайте функцію під час події after_setup_theme або у файлі functions.php . Не слід підключати функцію до події init
– вона може виявитися пізньою.
Хуків немає.
Повертає
null|false
. Функція нічого не повертає.
Використання
add_theme_support( $feature, ...$args );
-
$feature
(рядок) (обов’язковий) Назва можливості, що додається.
Список усіх нових можливостей:
Наступні можливості потрібні тільки для читання і повинні використовуватися в функції current_theme_supports() :
widgets
– використовуйте register_sidebars() натомість.menus
– використовуйте register_nav_menus() натомість.editor-style
– Використовуйте add_editor_style() натомість.
З WP 5.0 були додані можливості, які використовуються як опції Гутенберга (ці опції також можна змінити через фільтр block_editor_settings ). Дивіться також доку :
align-wide
editor-color-palette
disable-custom-colors
editor-font-sizes
disable-custom-font-sizes
editor-styles
wp-block-styles
dark-editor-style
-
…$args
(різне) Необов’язкові додаткові аргументи передачі разом з деякими можливостями. Кожна можливість має свої параметри:
- У форматів постів тут вказуємо формати.
- У мініатюр типи постів, де вони працюватимуть
- і т.д. (див. нижче).
Приклади
#1 Приклад реєстрації можливостей теми
Цей код потрібно вставляти у файл теми functions.php.
// Реєструємо можливості теми add_action( 'after_setup_theme', function(){ // можливість змінювати тло з адмінки add_theme_support( 'custom-background'); // можливість змінювати зображення у шапці з адмінки add_theme_support( 'custom-header'); // Включаємо меню в адмінці add_theme_support( 'menus' ); // Створення метатегу <title> через хук add_theme_support( 'title-tag'); // можливість завантажити картинку логотипу в адмінці add_theme_support( 'custom-logo', [ 'height' => 190, 'width' => 190, 'flex-width' => false, 'flex-height' => false, 'header-text' => '', ]); }
Детальний опис кожної можливості
post-formats
Дозволяє вказувати формат посту. Функцію було додано у версії 3.1.
Щоб вказати певні формати, використовуйте другий аргумент функції:
add_theme_support( 'post-formats', array( 'aside', 'gallery' ) );
Щоб перевірити пост на формат quote
, використовуйте такий код у файлах single.php, page.php:
if ( has_post_format( 'quote' ) ) { echo 'Це quote.'; }
post-thumbnails
Дозволяє встановлювати мініатюру посту. Доступна з версії 2.9. Ви можете передати другий аргумент функції у вигляді масиву, в якому вказати для яких типів постів дозволити мініатюри:
add_theme_support( 'post-thumbnails'); add_theme_support( 'post-thumbnails', array( 'post' ) ); // Тільки для post add_theme_support( 'post-thumbnails', array( 'page' ) ); // Тільки для page add_theme_support( 'post-thumbnails', array( 'post', 'movie' ) ); // Для post і movie типів
Цю можливість потрібно додавати до хука init. Це означає, що функція має бути розташована у файлі теми functions.php або через хук after_setup_theme
. Для довільних типів записів можна також виводити блок мініатюр дивіться register_post_type() .
Щоб вивести мініатюру у файлі теми (index.php або single.php тощо) використовуємо функцію the_post_thumbnail() :
the_post_thumbnail();
Щоб перевірити, чи має пост мініатюра, перед тим як її виводити, використовуємо has_post_thumbnail() :
if ( has_post_thumbnail() ) { the_post_thumbnail(); }
custom-background
Додає можливість змінювати тло з адмінки. Доступна з версії 3.4.
add_theme_support( 'custom-background');
Також можна вказати параметри у другому аргументі:
$defaults = array( 'default-color' => '', 'default-image' => '', 'wp-head-callback' => '_custom_background_cb', 'admin-head-callback' => '', 'admin-preview-callback' => '' ); add_theme_support( 'custom-background', $defaults );
Отримаємо в head частини сайту:
<style type="text/css" id="custom-background-css"> body.custom-background { background-color: #bdd96e; } </style>
Отримати встановлене зображення фону можна функцією get_background_image() .
Сумісність із ранніми версіями
Щоб довільний фон був сумісний з ранніми версіями (нижче 3.4), можна використовувати таку умову:
Global $wp_version; if ( version_compare( $wp_version, '3.4', '>=' ) ) add_theme_support( 'custom-background'); else add_custom_background ($ args);
custom-header
З версії 3.4 можна змінювати зображення в шапці з адмінки, використовуючи:
add_theme_support( 'custom-header');
Також можна вказати додаткові параметри:
add_theme_support( 'custom-header', array( 'default-image' => '', 'random-default' => false, 'width' => 0, 'height' => 0, 'flex-height' => false, 'flex-width' => false, 'default-text-color' => '', // викликається функції get_header_textcolor() 'header-text' => true, 'uploads' => true, 'wp-head-callback' => '', 'admin-head-callback' => '', 'admin-preview-callback' => '', 'video' => false, // з 4.7 'video-active-callback' => 'is_front_page', // з 4.7 )));
Відео у заголовку (шапці WordPress)
C WP 4.7 у налаштуваннях шапки можна дозволити встановлювати відео, яке буде використане також як і картника – з метою декорації. Тому воно програватиметься автоматично, буде зациклено і буде без звуку. Таку можливість добре використовувати в комбінації з картинкою, щоб спочатку завантажувалася картинка, а потім, якщо відео підтримується, підвантажувалося воно.
Підтримка відео включається так:
add_theme_support( 'custom-header', array( 'video' => true, )));
При активації цієї можливості в кастомайзері (налаштування теми) з’явиться блок де можна завантажити та встановити.
Усі функції для виведення картинки та відео заголовка:
has_header_video() – Перевіряє, чи було встановлено відео в кастомайзері.
is_header_video_active() – Перевіряє чи має відображатися відео для поточної сторінки запиту у фронті.
get_header_video_url() – Отримує URL відео для шапки. Може бути локальним або зовнішнім посиланням на відео.
the_header_video_url() – Виводить URL-відео для шапки.
has_custom_header() – Перевіряє, чи встановлено зображення для шапки теми, чи встановлено відео та доступно для показу на поточній сторінці запиту.
get_custom_header_markup() – Отримує HTML код для відображення зображення заголовка (не включає відео).
- the_custom_header_markup() – Виводить HTML код для відображення зображення заголовка і підключає JS код для обробки відео заголовка, якщо воно доступне для поточного запиту.
Приклади
Для початку в header.php де знаходиться картинка шапки у нас повинен бути такий код, щоб наступні налаштування працювали:
<img src="<?php header_image(); ?>" height="<?php echo get_custom_header()->height; ?>" width="<?php echo get_custom_header()->width; ?>" alt ="" />
#1. Встановимо картинку для шапки розміром: 980px на 60px:
add_theme_support( 'custom-header', array( 'width' => 980, 'height' => 60, 'default-image' => get_template_directory_uri() . '/images/header.jpg', )));
#2. Встановимо за замовчуванням картинку і дамо можливість змінювати її користувачам ( 'uploads'=> true
):
add_theme_support( 'custom-header', array( 'width' => 980, 'height' => 60, 'default-image' => get_template_directory_uri() . '/images/header.jpg', 'uploads' => true, )));
#3. Дамо можливість користувачам змінювати розміри картинки (flex-width, flex-height):
add_theme_support( 'custom-header', array( 'flex-width' => true, 'width' => 980, 'flex-height' => true, 'height' => 200, 'default-image' => get_template_directory_uri() . '/images/header.jpg', )));
#4. Встановимо колір тексту для header: параметр default-text-color
Цей приклад показує, як викликати колір, що змінюється в налаштуваннях теми. Там, де потрібно приміряти вказаний у налаштуваннях теми колір, потрібно використовувати функцію: get_header_textcolor() так:
style="<?php echo sprintf( 'color: #%s;', get_header_textcolor() ); ?>"
automatic-feed-links
Ця можливість додає посилання на RSS фіди постів та коментарів у head частину HTML документа. Працює із версії 3.0. Потрібно використовувати замість застарілої функції automatic_feed_links()
.
add_theme_support( 'automatic-feed-links');
Додасть у head частину подібні посилання:
<link rel="alternate" type="application/rss+xml" title="Пробний сайт - Feed" href="http://example.com/feed/" /> <link rel="alternate" type="application/rss+xml" title="Пробний сайт - Comments Feed" href="http://example.com/comments/feed/" />
html5
Включає підтримку розмітки html5 для списку коментарів, форми коментарів, форми пошуку, галереї і т.д. Де потрібно включити розмітку вказується у другому параметрі:
add_theme_support( 'html5', array( 'comment-list', 'comment-form', 'search-form', 'gallery', 'caption', 'script', 'style', )));
Якщо другий параметр залишити порожнім, буде використано наступний масив: array( 'comment-list', 'comment-form', 'search-form' )
.
З версії 3.9 WordPress використовує елементи: <figure>
(галерея) та <figcaption>
(підпис) для коду галереї та для підпису картинок.
З версії WP 5.3 також можна вказати script
і style
, тоді при вставці скриптів та стилів різними функціями WP атрибут type
виводитися не буде:
<script type="text/javascript"> <style type="text/css"> <!-- html5 --> <script> <style>
menus
Включає підтримку навігаційних меню – сторінку адмінки /wp-admin/nav-menus.php
:
add_action( 'after_setup_theme', function(){ add_theme_support( 'menus' ); } );
Ця можливість використовується лише для читання через функцію current_theme_supports() .
Включати окремо цю можливість має сенс, тільки якщо вам потрібно створити навігаційне меню і не прикріплювати його до будь-якої області меню, а вивести його безпосередньо за id (назвою меню). Наприклад, можна окремо увімкнути цю можливість і в адмінці, після цього з’явиться доступ до сторінки створення меню, там створити меню і вивести його в шаблон безпосередньо через id.
У всіх інших випадках ця можливість включається автоматично при реєстрації навігаційних областей меню через функції:
title-tag (WP 4.1)
З версії 4.1. Ця функція дозволить плагінам та темам змінювати метатег <title> . Ця можливість використовуватиметься замість wp_title() .
add_theme_support( 'title-tag');
Якщо активувати цю опцію для теми, то в темі не потрібно встановлювати метатег <title><?php wp_title() ?></title> – він буде автоматично підключений через хук wp_head . Ось код, який відповідає за підключення (з файлу /wp-includes/general-template.php ).
function _wp_render_title_tag() { if ( ! current_theme_supports( 'title-tag' ) ) { return; } echo '<title>'. wp_get_document_title(). '</title>'. "n"; }
Крім того, з включенням цієї опції, функція wp_title додаватиме до заголовків назву сайту в кінці, а на головній сторінці опис сайту в кінці заголовка (шматок коду функції wp_title() ):
... if ( current_theme_supports( 'title-tag' ) && ! is_feed() ) { $title .= get_bloginfo( 'name', 'display' ); $site_description = get_bloginfo( 'description', 'display' ); if ( $site_description && ( is_home() || is_front_page() ) ) { $title .= "$sep $site_description"; } if ( ( $paged >= 2 || $page >= 2 ) && ! is_404() ) { $title.="$sep". sprintf( __( 'Page %s' ), max( $paged, $page ) ); } } ...
Щоб змінити заголовки використовуєте фільтри:
- wp_get_document_title() .
- document_title_separator – дозволяє змінити роздільник між частинами заголовка.
- document_title_parts – дозволяє змінити окремі частини заголовка, що передаються у вигляді асоціативного масиву.
Відключення ‘title-tag’
Щоб вимкнути цю можливість, вимкніть фільтр:
add_action( 'wp_head', function(){ remove_theme_support( 'title-tag'); }, 0); // або add_action( 'wp_head', function(){ remove_action( 'wp_head', '_wp_render_title_tag', 1); }, 0);
custom-logo (WP 4.5)
Додає можливість завантажити зображення логотипу в налаштуваннях теми в адмінці.
Після встановлення такого логотипу, його можна отримати і вивести в темі за допомогою функції: the_custom_logo() .
Щоб перевірити наявність такого логотипу, використовуйте has_custom_logo() .
Приклад визначення:
add_theme_support( 'custom-logo', [ 'height' => 190, 'width' => 190, 'flex-width' => false, 'flex-height' => false, 'header-text' => '', 'unlink-homepage-logo' => false, // WP 5.5 ]);
З версії 5.5 також можна вказати параметр unlink-homepage-logo
. При його включенні буде видалено посилання на головну сторінку сайту з картинки лого, якщо ми знаходимося на головній сторінці сайту. Також буде обнулено alt атрибут картинки на головній сторінці.
customize-selective-refresh-widgets (WP 4.5)
Включає підтримку Selective Refresh (вибіркове оновлення) для віджетів у кастомайзері. Що таке “Selective Refresh” дивіться в цьому демо ролику і читайте (англ.) тут і тут .
add_theme_support( 'customize-selective-refresh-widgets' );
starter-content (WP 4.7)
Розширює початковий контент (контент, який встановлюється, при встановленні WordPress або теми).
За замовчуванням WP має свій початковий контент, але його можна доповнити вказавши в цій можливості всі дані контенту. Які дані можна вказати і в якому форматі це робити дивіться в коді функції get_theme_starter_content()
Шаблон використання:
add_theme_support( 'starter-content', array( 'options' => '', // опції сайту 'theme_mods' => '', // опції теми 'widgets' => '', // дані виждетів 'nav_menus' => '', // дані меню 'attachments' => '', // дані вкладень 'posts' => '', // масив масивів: ID => array('post_type' => '', 'post_title' => '', 'post_excerpt' => '', 'post_name' => '', 'post_content' => '', 'menu_order' => '', 'comment_status' => '', 'thumbnail' => '', 'template' => '') )));
Приклад установки початкового контенту (взято з функції ядра):
admin-bar
Ця можливість включена за замовчуванням та відключається хуком:
add_filter( 'show_admin_bar', '__return_false');
Через get_theme_support( 'admin-bar' )
WP отримує назву колбек функції _admin_bar_bump_cb() , яка виводить css стилі для відступу вгорі HTML для адмін бару.
Щоб прибрати/вимкнути цей відступ, використовуйте такий код:
add_theme_support( 'admin-bar', [ 'callback'=>'__return_false' ] );
align-wide (WP 5.0 Guten)
Включає підтримку широкого вирівнювання картинок у блоків Гутенберга
add_theme_support( 'align-wide');
editor-color-palette (WP 5.0 Guten)
Визначає свою колекцію кольорів, які можна буде використовувати при редагуванні блоків.
Подивимося на прикладі. Визначимо свою колекцію кольорів:
add_theme_support( 'editor-color-palette', [ [ 'name' => __( 'strong magenta', 'domain' ), 'slug' => 'strong-magenta', 'color' => '#a156b4', ], [ 'name' => __( 'light grayish magenta', 'domain' ), 'slug' => 'light-grayish-magenta', 'color' => '#d0a5db', ], [ 'name' => __( 'very light gray', 'domain' ), 'slug' => 'very-light-gray', 'color' => '#eee', ], [ 'name' => __( 'very dark gray', 'domain' ), 'slug' => 'very-dark-gray', 'color' => '#444', ], ]);
Отримаємо у редакторі блоків:
Далі в css на фронті слід описати такі стилі:
.has-strong-magenta-background-color { background-color: #313131; } .has-strong-magenta-color { color: #f78da7; }
disable-custom-colors (WP 5.0 Guten)
За замовчуванням колірна палітра, що пропонується блокам, дозволяє користувачеві вибрати будь-який колір (відмінний від кольорів редактора або теми).
Якщо користувачів потрібно обмежити у кольорі, можна вимкнути функцію вибору кольору за допомогою:
add_theme_support( 'disable-custom-colors');
Цей прапор гарантує, що користувачі зможуть вибирати кольори лише з панелі редактора, наданої темою, або з кольорів редактора за промовчанням, якщо тема не надала їх.
editor-font-sizes (WP 5.0 Guten)
Визначає свою колекцію розмірів для тексту, які можна буде використовувати при редагуванні блоків.
Подивимося на прикладі. Визначимо свою колекцію розмірів:
add_theme_support( 'editor-font-sizes', [ [ 'name' => 'My Small', 'shortName' => 'S', 'size' => 12, 'slug' => 'small' ], [ 'name' => 'My Regular', 'shortName' => 'M', 'size' => 16, 'slug' => 'regular' ], [ 'name' => 'My Large', 'shortName' => 'L', 'size' => 20, 'slug' => 'large' ], [ 'name' => 'My Larger', 'shortName' => 'XL', 'size' => 24, 'slug' => 'larger' ] ]);
Отримаємо у редакторі блоків:
Далі на фронті в css стилях потрібно описати розмір таким чином:
.has-regular-font-size { font-size: 16px; }
Докладніше читайте в окремій статті (англ).
editor-gradient-presets (WP 5.4 Guten)
WordPress 5.4 дозволяє вашій темі вказати попередній набір градієнтів для фону блоків та кнопок.
Деякі блоки мають можливість вибору визначених градієнтів зі списку. Редактор блоків надає стандартні установки градієнта, але тема може перезаписати їх і надати свої власні. Робиться це так:
add_theme_support( 'editor-gradient-presets', [ [ 'name' => __( 'Vivid cyan blue to vivid purple', 'domain' ), 'gradient' => 'linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%)', 'slug' => 'vivid-cyan-blue-to-vivid-purple' ], [ 'name' => __( 'Vivid green cyan to vivid cyan blue', 'domain' ), 'gradient' => 'linear-gradient(135deg,rgba(0,208,132,1) 0%,rgba(6,147,227,1) 100%)', 'slug' => 'vivid-green-cyan-to-vivid-cyan-blue', ], [ 'name' => __( 'Light green cyan to vivid green cyan', 'domain' ), 'gradient' => 'linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%)', 'slug' => 'light-green-cyan-to-vivid-green-cyan', ], [ 'name' => __( 'Luminous vivid amber to luminous vivid orange', 'domain' ), 'gradient' => 'linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%)', 'slug' => 'luminous-vivid-amber-to-luminous-vivid-orange', ], [ 'name' => __( 'Luminous vivid orange to vivid red', 'domain' ), 'gradient' => 'linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%)', 'slug' => 'luminous-vivid-orange-to-vivid-red', ], ] );
- name
- Читається мітка (показана вище), яка з’являється у підказці і показує користувачам опис градієнта. Це важливо для тих, хто використовує програми читання з екрану або зазнає труднощів із сприйняттям кольору.
- gradient
-
CSS-значення градієнта, застосованого до фонового зображення блоку. Докладні відомості про допустимі типи градієнтів можна знайти в
документації mozilla . - slug
- Унікальний ID градієнта і використовується для створення CSS-класів, що використовуються редактором блоків.
За створення класів, які застосовують градієнти, відповідають теми. Таким чином, щоб застосувати градієнт vivid-cyan-blue-to-vivid-purple
, у темі потрібно створити наступний клас:
.has-vivid-cyan-blue-to-vivid-purple-gradient-background { background: linear-gradient( 135deg, rgba(6,147,227,1) 0%,rgb(155,81,224) 100% ); }
Відключення кастомних градієнтів
Теми можуть вимкнути можливість встановлення градієнта користувача за допомогою наступного коду:
add_theme_support( 'disable-custom-gradients' );
Коли набір, користувачі повинні бути віднесені до менших послідовників, що надаються в блоці редактора або послідовників, що надаються за допомогою editor-gradient-presets the support setting.
Після встановлення цього коду користувачі мають лише градієнти, які даються в Редакторі блоків за замовчуванням, або градієнти вказані в опції editor-gradient-presets
disable-custom-font-sizes (WP 5.0 Guten)
Теми можуть вимкнути можливість задавати розміри шрифтів користувача за допомогою наступного коду:
add_theme_support( 'disable-custom-font-sizes');
Тепер, користувачі будуть обмежені за замовчуванням, встановленими в Gutenberg, або розмірами, наданими через підтримку теми editor-font-sizes
.
editor-styles (WP 5.0 Guten)
Включає опцію, яка включає кастомні файли стилів для редактора блоків. Такі стилі додаються до глобальної змінної $editor_styles функцією add_editor_style() .
Не плутайте з editor-style
(ні на кінці), яка активується при виклику функції add_editor_style() і використовується не для TinyMCE редактора.
У класичному редакторі CSS файл стилів завантажується в iframe редактора WYSIWYG без змін. Гутенберг не використовує iframe і щоб переконатися, що ваші стилі застосовуються лише до вмісту редактора, стилі автоматично змінюються: перетворюються (переписуються) певні селектори CSS. Це також дозволяє Гутенберг використовувати ваші стилі редактора в попередньому перегляді варіантів блоків.
Наприклад, body { ... }
перетворитися на .editor-styles-wrapper { ... }
. Це означає, що завжди потрібно орієнтуватися на імена класів редактора напряму.
Крок 1:
Включаємо виведення кастомних стилів для редактора блоків та додаємо свій файл стилів до списку файлів для підключення (див. add_editor_style() ):
# Включаємо виведення кастомних стилів для редактора блоків add_action( 'after_setup_theme', 'gutenberg_setup_theme'); function gutenberg_setup_theme(){ // файл стилів для редактора блоків add_theme_support( 'editor-styles' ); // включає підтримку add_editor_style(); // Додає файл стилів editor-style.css }
Крок 2:
Тепер потрібно створити файл з назвою style-editor.css в корені теми і прописати туди стилі для редактора:
/* Код для файлу `style-editor.css` */ body { background-color: #eee; color: #333; } /* змінимо ширину редактора блоків */ /* Основна ширина */ .wp-block { max-width: 820px; } /* Ширина для "wide" блоків */ .wp-block[data-align="wide"] { max-width: 1080px; } /* Шири на для "full-wide" блоків */ .wp-block[data-align="full"] { max-width: none; }
Можна призначити ширини, що відповідають вашій темі. Можна використовувати будь-які одиниці: % или px
.
Розміщення та назву файлу, що додається, можна змінити, наприклад так:
add_editor_style( 'css/wp-block-styles.css');
У цьому випадку буде підключений вказаний файл із батьківської та/або дочірньої теми.
Не рекомендується занадто сильно змінювати стилі редактора, щоб вони виглядали правильно і у класичному редакторі.
dark-editor-style (WP 5.0 Guten)
Це доповнення до editor-styles .
Якщо стиль редактора заснований на темному тлі, можна додати наступне, щоб налаштувати колір інтерфейсу для роботи на темному тлі:
add_theme_support( 'editor-styles' ); // Обов'язковий для роботи наступного рядка add_theme_support( 'dark-editor-style');
wp-block-styles (WP 5.0 Guten)
Базові стилі редактора блоків підключаються завжди, коли редактор увімкнено. Це робиться через вбудований WP хук і функцію wp_common_block_scripts_and_styles() :
add_action( 'wp_enqueue_scripts', 'wp_common_block_scripts_and_styles'); // функції wp_common_block_scripts_and_styles() викликається такий код wp_enqueue_style( 'wp-block-library');
Якщо увімкнути цю опцію так:
add_theme_support( 'wp-block-styles');
То на додаток до базових стилів блоків буде підключений файл стилів – тема блоків.
if ( current_theme_supports( 'wp-block-styles' ) ) { wp_enqueue_style( 'wp-block-library-theme'); }
В результаті на фронті до HEAD буде додано наступний файл стилів:
<link rel='stylesheet' id='wp-block-library-theme-css' href='http://dh5.com/core/wp-includes/css/dist/block-library/theme.min.css ?ver=5.1' type='text/css' media='all' />
Ось які стилі знаходяться в цьому файлі /wp-includes/css/dist/block-library/theme.css :
Напевно, краще не включати цю опцію і написати свою тему для блоків, а й не використовувати базову тему.
responsive-embeds (WP 5.0 Guten)
Блоки вбудовування (embeds) автоматично застосовують стилі до вбудованого вмісту, щоб відобразити співвідношення сторін вмісту, вбудованого в iFrame. Блок із адаптивними стилями із зазначеними пропорціями виглядатиме так:
<figure class="wp-embed-aspect-16-9 wp-has-aspect-ratio">...</figure>
Щоб змінити розмір вмісту та зберегти його співвідношення сторін, елементу <body> потрібно клас wp-embed-responsive
. Він не встановлюється за замовчуванням, а цю функцію потрібно увімкнути наступним кодом:
add_theme_support( 'responsive-embeds');
core-block-patterns (c WP 5.5)
Ця властивість активується за умовчанням на ранньому етапі (ще до події mu_plugin_loaded ) і відповідає за реєстрацію патернів для блоків.
Реєстрація патернів відбувається на події init :
add_action( 'init', '_register_core_block_patterns_and_categories' );
Такий патерн використовується у параметрі register_block_pattern() .
Приклад такого патерну wp-includes/block-patterns/two-images.php .
Якщо ви не використовуєте блоковий редактор на сайті, можна скасувати реєстрацію патернів:
remove_theme_support( 'core-block-patterns');
widgets-block-editor (c WP 5.8)
Ця функція включає редактор блоків “Віджетів”. Опція вмикається за замовчуванням на хуку:
add_action( 'after_setup_theme', 'wp_setup_widgets_block_editor', 1); function wp_setup_widgets_block_editor() { add_theme_support( 'widgets-block-editor'); }
Відключення редактора блоків для віджетів
Варіант 1
Щоб вимкнути редактор блоків, потрібно вимкнути підтримку теми:
# Відключає редактор блоків для віджетів WordPress remove_theme_support( 'widgets-block-editor');
Варіант 2
Щоб вимкнути редактор блоків на сторінці віджетів, можна використовувати спеціальний хук use_widgets_block_editor :
# Відключає редактор блоків для віджетів WordPress add_filter( 'use_widgets_block_editor', '__return_false');
нотатки
- Global. Масив. $_wp_theme_features
список змін
З версії 2.9.0 | Введено. |
З версії 3.4.0 | custom -header-uploads feature був deprecated. |
З версії 3.6.0 | The html5 feature був added. |
З версії 3.9.0 | The html5 feature now also accepts ‘gallery’ and ‘caption’ . |
З версії 4.1.0 | The title-tag feature був added. |
З версії 4.5.0 | The customize-selective-refresh-widgets feature was added. |
З версії 4.7.0 | Starter -content feature був added. |
З версії 5.0.0 | The responsive-embeds , align-wide , dark-editor-style , disable-custom-colors , disable-custom-font-sizes , editor-color-palette , editor-font-sizes , editor-styles , and wp-block- styles features були added. |
З версії 5.3.0 | The html5 feature now also accepts ‘script’ and ‘style’ . |
З версії 5.3.0 | Formalizated existing and already documented …$args parameter by adding it до функції signature. |
З версії 5.5.0 | The core-block-patterns feature був added and is enabled by default. |
З версії 5.5.0 | The custom-logo feature now also accepts ‘unlink-homepage-logo’ . |
З версії 5.6.0 | The post-formats feature warns if no array is passed. |
З версії 5.8.0 | widgets -block-editor feature enables the widgets block editor. |