Как задать ширину столбцов в шаблоне блока CPT?


У меня есть шаблон блока для пользовательского типа записи.

Когда основной блок столбцов WP добавил поддержку разной ширины, я попытался настроить шаблон следующим образом (я изменил тип записи на "опубликовать" здесь на случай, если кто-то еще планирует попробовать его):

<?php
add_action('init', 'wpse_register_post_template');
function wpse_register_post_template() {
    $post_type_object = get_post_type_object('post');
    $post_type_object->template = array(
        array('core/columns', array(),
            array(
                array('core/column', array('width' => '33.33'), array(
                    array('core/paragraph', array()),
                )),
                array('core/column', array('width' => '66.66'), array(
                    array('core/paragraph', array()),
                )),
            )
        )
    );
}
?>

Однако, когда я добавляю новую запись, это фактически не применяется к ширине столбцов. В конечном итоге они представляют собой два столбца шириной 50%, в редакторе и на переднем конце, хотя база данных показывает внутреннюю столбцы имеют атрибуты "ширина", сохраненные правильно.

В базе данных это выглядит так -

<!-- wp:columns -->
<div class="wp-block-columns"><!-- wp:column {"width":"33.33"} -->
<div class="wp-block-column"><!-- wp:paragraph -->
<p>Left Col</p>
<!-- /wp:paragraph --></div>
<!-- /wp:column -->

<!-- wp:column {"width":"66.66"} -->
<div class="wp-block-column"><!-- wp:paragraph -->
<p>Right Col</p>
<!-- /wp:paragraph --></div>
<!-- /wp:column --></div>
<!-- /wp:columns -->

В посте, где я вручную добавил блок столбцов в редакторе, чтобы я мог выбрать ширину 33%/66% в пользовательском интерфейсе, похоже, WP добавил встроенные стили в divs:

<!-- wp:columns -->
<div class="wp-block-columns"><!-- wp:column {"width":33.33} -->
<div class="wp-block-column" style="flex-basis:33.33%"><!-- wp:paragraph -->
<p>Left col</p>
<!-- /wp:paragraph --></div>
<!-- /wp:column -->

<!-- wp:column {"width":66.66} -->
<div class="wp-block-column" style="flex-basis:66.66%"><!-- wp:paragraph -->
<p>Right col</p>
<!-- /wp:paragraph --></div>
<!-- /wp:column --></div>
<!-- /wp:columns -->

Есть ли способ обновить шаблон CPT, чтобы добавленные блоки имели одинаковую разметку и, следовательно, имели разную ширину столбцов, когда я создаю новый CPT, а не чем каждый раз делать это вручную?

Author: WebElaine, 2020-01-27

1 answers

Измените значение ширины столбца со строки на число, вот так

array('core/column', array('width' => 33.33)
 2
Author: Vitauts Stočka, 2020-01-29 20:37:59