Ошибка проверки блока Гутенберга (не ожидается детей)

Я разрабатываю блок Gutenberg Testimonials, однако при сохранении и попытке перезагрузки он дает мне сбой проверки блока, похоже, ожидается блок без дочерних элементов во внутренней карусели и т. Д.

Expected:

<div class="wp-block-wf-testimonials"><div class="slideshow carousel slide" data-ride="carousel" data-interval="false"><div class="carousel-inner"></div><a class="carousel-control carousel-control-prev" href="#undefined" role="button" data-slide="prev"><span class="carousel-icon carousel-control-prev-icon" aria-hidden="true"></span><span class="sr-only">Previous</span></a><a class="carousel-control carousel-control-next" href="#undefined" role="button" data-slide="next"><span class="carousel-icon carousel-control-next-icon" aria-hidden="true"></span><span class="sr-only">Next</span></a></div></div>

Actual:

<div class="wp-block-wf-testimonials"><div class="slideshow carousel slide" data-ride="carousel" data-interval="false"><div class="carousel-inner"><div class="carousel-item active"><div class="quote"> sdfas </div><div class="byline"> sdf </div></div><div class="carousel-item false"><div class="quote"> fsadfa </div><div class="byline"> asdfassdfadf </div></div><div class="carousel-item false"><div class="quote"> fdsafas </div><div class="byline"> sdfasdfas </div></div></div><a class="carousel-control carousel-control-prev" href="#undefined" role="button" data-slide="prev"><span class="carousel-icon carousel-control-prev-icon" aria-hidden="true"></span><span class="sr-only">Previous</span></a><a class="carousel-control carousel-control-next" href="#undefined" role="button" data-slide="next"><span class="carousel-icon carousel-control-next-icon" aria-hidden="true"></span><span class="sr-only">Next</span></a></div></div>

Вот атрибуты

attributes = {
        interval: {
            type: 'text',
            selector: '.slideshow',
            source: 'attribute',
            attribute: 'data-interval',
            default: 'false'
        },
        hideIndicators: {
            type: 'text',
            default: 'false'
        },
        viewMode: {
            type: 'text',
            default: 'edit',
        },
        testimonials: {
            source: "query",
            default: [{index:0, quote:"", byline:""}],
            selector: ".carousel-inner .carousel",
            query: {
                index: {
                    source: "attribute",
                    selector: ".quote",
                    attribute: "index"
                },
                image: {
                    source: "attribute",
                    selector: "img",
                    attribute: "src"
                },
                quote: {
                    source: "text",
                    selector: ".quote"
                },
                byline: {
                    source: "text",
                    selector: ".byline"
                }
            }
        }
    }

Полный код блока: https://github.com/Panguino/WF_Testimonial

Любая помощь будет принята с благодарностью, я новичок в Гутенберге, немного новичок, чтобы отреагировать. Полегче со мной =).


person Brad Larson    schedule 24.11.2018    source источник
comment
Ой, я понял это, похоже, мой селектор отзывов был отключен, поэтому он не смог найти разметку. вместо .carousel-inner .carousel мне нужен .carousel-inner .carousel-item.   -  person Brad Larson    schedule 24.11.2018


Ответы (1)


Думаю, вы нашли решение, отвечая будущим читателям.

Фактическое в ошибке консоли ожидает предыдущий HTML-код, который мы сохранили в методе save(), который в настоящее время хранится в базе данных, а метод save() нашего блока содержит новый код. Таким образом, WordPress не может сопоставить вывод, что приводит к ошибке проверки.

Решение: вам нужно удалить текущий экземпляр блока и создать новый, это сработает. Хотя это раздражает, я надеюсь, что команда Гутенберга найдет решение этой проблемы.

person actuallyakash    schedule 03.05.2019