Проблемы с макетом наследуются в theme.json.

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

У меня в файле theme.json моей темы FSE есть следующие строки кода:

"version": 2,
   "settings": {
      "layout": {
         "contentSize": "840px",
         "wideSize": "1100px"
      }
   }
}

Если я сейчас вставлю следующий блок в мой index.html, он будет сжат до ширины ContentSize:

<!-- wp:group {"layout":{"inherit":true},"tagName":"main"} -->
<main class="wp-block-group">

<!-- wp:query -->
<div class="wp-block-query">
    <!-- wp:post-template -->
    <!-- wp:post-title /-->
    <!-- wp:post-date /-->
    <!-- wp:post-excerpt /-->
    <!-- /wp:post-template -->
 
    <!-- wp:query-pagination -->
    <div class="wp-block-query-pagination">
        <!-- wp:query-pagination-previous /-->
        <!-- wp:query-pagination-numbers /-->
        <!-- wp:query-pagination-next /-->
    </div>
    <!-- /wp:query-pagination -->
</div>
<!-- /wp:query -->
   
</main>
<!-- /wp:group -->

Теперь, когда я хочу сделать то же самое в нижнем колонтитуле, контент не сжимается до ContentSize:

<!-- wp:group {"layout":{"inherit":true}} -->
<div class=""> Сделано Reto Ulrich Mediendesign AG, <a href="https://www.rumede.ch" class="link-primary" target="_blank">www.rumede.ch</a> </div>
<!-- /wp:group --> 

Может кто-нибудь сказать мне, когда именно работает layout:inherit, или что нужно учитывать для этого? И есть ли возможность масштабироваться до wideSize вместо ContentSize?

Чтобы масштабироваться до wideSize, необходимо включить широкое выравнивание для дочернего блока(ов).

– Второй пример кода неполный, возможно поэтому ширина была неверной для нижнего колонтитула.

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

Затем переключитесь на редактор кода в редакторе сайтов и скопируйте коды блоков.

Наконец, вставьте скопированный код в часть шаблона footer.html.

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

Проблемы с наследованием макета в theme.json

Ваша проблема связана с определением параметров макета в файле theme.json и тем, как они применяются к различным блокам в вашем шаблоне. Давайте подробнее разберёмся с этим вопросом.

Правильная настройка theme.json

В вашем theme.json в разделе "settings" определены два важных параметра:

  • "contentSize": 840px
  • "wideSize": 1100px

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

При добавлении блока Group с параметром {"inherit":true} он, как вы отметили, сохраняет ширину контента, что может не соответствовать вашим ожиданиям. Это происходит потому, что для наследуемых блоков layout применяется логика, основанная на контексте родительского блока.

Почему это происходит?
  1. Темы и наследование: Нередко для различных компонентов темы используются разные правила применения ширины. Когда блок находится внутри другого блока с фиксированной шириной, он может унаследовать эту ширину, если у него не указано иное.

  2. Неполный код блока: Обратите внимание на структуру вашего кода. Например, вы использовали:

    <!-- wp:group {"layout":{"inherit":true}} -->
    <div class="">
        Сделано Reto Ulrich Mediendesign AG, <a href="https://www.rumede.ch" class="link-primary" target="_blank">www.rumede.ch</a>
    </div>
    <!-- /wp:group -->

    Убедитесь, что вы корректно структурируете блоки и добавляете все необходимые параметры.

Как сделать так, чтобы блоки могли занимать широкую ширину?

Чтобы ваши блоки корректно отображались с шириной wideSize, вам необходимо удостовериться, что все дочерние блоки имеют активированное широкое выравнивание (wide alignment). Это можно сделать, добавив соответствующие настройки для каждого блока внутри родительского Group и задав нужные параметры.

Предложения по улучшению

  1. Использование редактора сайтов: Эффективным способом построения футера будет использование визуального редактора сайтов, где вы сможете установить ширину на уровне содержимого или широкой ширины. После того как вы настроите футер, переключитесь в кодовый редактор и скопируйте сгенерированный код. Это упростит процесс реализации и избежит ошибок.

  2. Тестирование с различными блоками: Попробуйте использовать другие блоки (например, контент с изображениями) для проверки, как ведёт себя каждый из них в рамках вашей темы. Понять правильность работы системного наследования можно только через практическое тестирование, применяя разные комбинации.

  3. Внимание к структуре кода: Убедитесь, что вы прописываете все блоки внимательно и следите за тем, чтобы не было пропускаемых параметров, что может негативно сказаться на их ширине.

Заключение

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

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

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