Home » News & Anleitungen » (Update 30.06.) Bug: Darstellung auf Kategorie-Seiten verschoben [Lösungen]

(Update 30.06.) Bug: Darstellung auf Kategorie-Seiten verschoben [Lösungen]

Mit dem WordPress 6 Update hat sich scheinbar ein Bug im Block Editor eingeschlichen, der möglicherweise in Verbindung mit dem OceanWP Theme und / oder dem SEO-Tool Yoast bei bestimmten Darstellungen Probleme macht. Unter Umständen verschiebt sich das Layout auf den Kategorie-Seiten beim Nachladen, wenn ein Filter ausgewählt wird. Das Problem besteht auch bei WordPress Seiten und Beiträgen.
Inhalt

Update 30.06.2022: Bugfix

In der OBS Pages Version 1.19 wurde einen temporärer Bugfix veröffentlicht, um das Problem zu beheben. Der Bugfix kann jederzeit über „Onlineshop Optionen -> Styling“ deaktiviert werden, um eine andere Lösung umzusetzen.

Beispiel

Nach der Auswahl eines Filters auf einer Kategorie-Seite verschieben sich die Spalten.

Problem im Block Editor

Im WordPress Block Editor darf es keine Spalten ohne Inhalt geben. Hier ein Beispiel, wo die rechte Spalte keinen Inhalt hat:

Lösung I (pro Template)

Bearbeiten Sie das Kategorie-Template bei dem das Problem in der Darstellung besteht:

Fügen Sie in die leere Spalte einfach einen leeren Absatz ein. Sie können auch irgendeinen anderen Block einsetzen. Die leere Spalte muss nur mit etwas gefüllt werden.

Dann speichern Sie einfach das geänderte Kategorie-Template ab und testen es im Front-End. Die Darstellung sollte sich nach der Auswahl eines Filters jetzt nicht mehr verschieben. Wiederholen Sie diese Änderung bei allen Kategorie-Templates, wo der Darstellungsfehler auftritt.

Lösung II (generell über Child-Theme)

In der aktuellen WordPress Version werden über den Block Editor Inline CSS-Stylesheets erzeugt mit dynamischen Klassennamen. Durch das Nachladen per Ajax auf den Kategorie Seiten erhalten die HTML Elemente zum Teil neue Klassennamen, die unter Umständen zu den Inline CSS-Stylesheets nicht mehr passen. Dadurch kann es zu Problemen kommen, grade bei der Darstellung von Spalten. In der kommenden Version 6.01 sind bereits Änderungen zu den Inline CSS von WordPress angekündigt. Bis dahin kann die Erzeugung dieser dynamischen Inline CSS-Stylesheets für die Darstellung von Spalten (core/column) in der function.php des Child-Theme über einen Filter generell abgeschaltet werden:

function.php

remove_filter( 'render_block', 'wp_render_layout_support_flag', 10, 2 ); 
add_filter( 'render_block', function( $block_content, $block ) {
     if ( $block['blockName'] === 'core/column' ) {
         return $block_content;
     }
return wp_render_layout_support_flag( $block_content, $block ); }, 10, 2 );

Die generelle Lösung kann dazu führen das individuelle Einstellungen zu den Spalten im Block Editor beim rendern der Seite nicht übernommen werden. Wenn über ein zukünftiges Update die Probleme bei der Darstellung behoben werden, sollten die Anweisungen aus der function.php wieder entfernt werden.

Hilfecenter: