Ещё раз: Как удалить параметр из редактора Гутенберг для определенного блока в theme.json

Вопрос или проблема

Начиная с WP 5.8, мы можем определять различные настройки в theme.json, что очень ценно и действительно полезно. Но есть некоторые опции, которые я не могу найти, например, как убрать панель макета из блока core/group?

enter image description here

В theme.json я попробовал (не уверен насчет ключа layout):

{
    // ...
    "settings": {
        // ...
        "blocks": {
            "core/group": {
                "layout": false // или [] или {} <-- без эффекта
            }
        }
    }
}

или

{
    // ...
    "settings": {
        // ...
        "blocks": {
            "core/group": {
                "layout": {
                    "customLayout": false // <-- без эффекта
                }
            }
        }
    }
}

Следующие ответы здесь были довольно близки:

Так что мой вопрос

Где я могу найти полный список всех возможных настроек для основных блоков в theme.json?

К сожалению, официальная тема twentytwentyone не содержит такого файла.

Теперь это гипотетически возможно в WordPress 6.4:

Чтобы отключить элементы управления для всех блоков, "allowEditing": false должно быть добавлено в settings.layout, как показано ниже:

"settings": {
    "layout": {
        "allowEditing": false
    } 
} 

Чтобы отключить элементы управления для отдельных блоков, добавьте "allowEditing": false в settings.blocks.[block name].layout, следующим образом:

"settings": {
    "blocks": {
        "core/cover": {
            "layout": {
                "allowEditing": false
            }
        }
    } 
} 

Однако отключение макета делает вариации блока ряд/стек бесполезными, так как исчезают все элементы управления выравниванием вместе с параметрами размера содержимого/ширины.

Ответ или решение

Вопрос о том, как удалить вариант из редактора Gutenberg для конкретного блока с использованием файла theme.json, является актуальным для разработчиков, работающих с WordPress, начиная с версии 5.8. Особенностью WordPress этой версии является возможность управления настройками блоков через файл theme.json, что упрощает процесс кастомизации и настройки пользовательского интерфейса. Однако, некоторые аспекты остаются неочевидными, например, как удалить панель макета из блока core/group. Давайте разберёмся, как это можно реализовать, учитывая новую информацию о возможностях WordPress 6.4.

Проблема и её решение

Существующий подход, описанный в рамках вопроса, предполагает попытки отключения панели макета через ключи "layout": false, и т.д. Однако они не дают нужного результата. Ключевым изменением является появление в WordPress 6.4 возможности использования свойства "allowEditing": false для отключения контролей макета:

  1. Отключение макет-контролей для всех блоков:

    Для полного отключения редактирования макета для всех блоков необходимо внести изменения в theme.json следующим образом:

    {
       "settings": {
           "layout": {
               "allowEditing": false
           }
       }
    }

    Это действие приведёт к тому, что все блоки потеряют доступ к контролям по настройке макета.

  2. Отключение макет-контролей для отдельного блока:

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

    {
       "settings": {
           "blocks": {
               "core/group": {
                   "layout": {
                       "allowEditing": false
                   }
               }
           }
       }
    }

    Эта запись позволяет заблокировать настройки для конкретного блока без влияния на другие.

Расширенные настройки и противопоказания

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

Поиск информации о настройках core-блоков

Для точного понимания всех возможных настроек, которые можно использовать в theme.json, было бы резонно обратиться к официальной документации WordPress, так как она может содержать полный перечень поддерживаемых настроек. Другая возможность — изучение изменений в ядре WordPress, следуя за разработкой через блоги или каналы разработчиков, что позволит всегда быть в курсе новых возможностей.

Таким образом, использование новых возможностей WordPress 6.4 для управления контролями макета в блоках через theme.json открывает новые горизонты для настройки интерфейса, снижая зависимость от сложных программных решений и плагинов.

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

Капча загружается...