Pracuję nad projektem, który ma inną stylizację, jeśli jakiś blok Gutenberga jest obecny na stronie. Innymi słowy, jeśli pierwszy blok jest niestandardowo zbudowanym blokiem Gutenberga, post_title jest renderowany w innym miejscu ze względu na dokonane wybory projektowe.
Czy w WordPress jest jakaś funkcja, aby uzyskać listę wszystkich bloków Gutenberga obecnych w post_content?
post-content
block-editor
Jeffrey von Grumbkow
źródło
źródło
Odpowiedzi:
WordPress 5.0 + posiada funkcję to:
parse_blocks()
. Aby sprawdzić, czy pierwszy blok w poście to blok Nagłówek, wykonaj następujące czynności:źródło
has_blocks($blockName)
Zamiast tego należy użyć : github.com/WordPress/gutenberg/pull/8631/commits/… . Jest teżhas_block()
(bez „s”).parse_blocks()
zwracane są nieistniejące bloki jako elementy tablicy NULL, znany jest problem - core.trac.wordpress.org/ticket/45312Rozwiązanie, którego używam w chwili pisania, sprawdź komentarze post_content w komentarzach HTML Gutenberga. Ze względu na przyszłe zmiany Gutenberga może to nie działać w przyszłości.
źródło
Począwszy od wydania 5.0, funkcje te zostały wycofane z Gutenberga zintegrowanego z rdzeniem. Wyobrażam sobie, ale nie potwierdziłem, że te funkcje nadal istnieją w samodzielnej wtyczce Gutenberga.
Zamiast
gutenberg_content_has_blocks
używaćhas_blocks
Zamiast
gutenberg_parse_blocks
używaćparse_blocks
źródło