Nach längerer Untersuchung denke ich, dass ich es gefunden habe.
Schritte unternommen:
Zunächst überprüfte ich, wenn CKEditor überhaupt HTML5-Tags unterstützt, und es tut. Also sollte es sie nicht strippen oder überhaupt verändern. Wie Sie geschrieben haben, wurde die <main class="someClass">
mit <p> </p>
umgeben - dies könnte passieren, wenn main
als Inline-Element statt Block eins erkannt wurde. Ich graben in CKEDITOR.dtd
und es stellte sich heraus, dass main
existiert und es ist ein Blockelement. Es sollte in Ordnung sein.
Um zu überprüfen, ob es sich um ein CKEditor-Problem oder um WordPress handelt, habe ich überprüft, was in die Datenbank geschrieben wurde und was der CKEditor davon bekommen hat. Die Post/Seiteninhalt war wie im Beispiel unten (der einzige Unterschied die neuen Linien Zeichen war - wie CKEditor den Code-Formate):
<main class="someClass">
<p>There should be only 2 paragraphs inside the</p>
<pre><main class="someClass"></main></pre>
<p>element.</p>
</main>
Aber der Code zurückgegeben für die Bearbeitung anders war
<p><main class="someClass"></p>
<p>There should be only 3 paragraphs inside the</p>
<pre><main class="someClass"></main></pre>
<p>element.</p>
<p></main></p>
die <main class="someClass">
mit <p></p>
gewickelt war, dann CKEditor war diese Absätze um den Block elementfixierende und das Ergebnis war, wie Sie auf dem Laufenden:
<p> </p>
<main class='someClass'>
<p> </p>
Nach s hort Debuggen von Wordpress Kern fand ich den Ort, an dem diese Absätze hinzugefügt wurden - Funktion wpautop
innerhalb formatting.php
https://developer.wordpress.org/reference/functions/wpautop/
genauer zu sein, die 469 line die alle Elemente Block beschreibt:
$allblocks = '(?:table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|form|map|area|blockquote|address|math|style|p|h[1-6]|hr|fieldset|legend|section|article|aside|hgroup|header|footer|nav|figure|figcaption|details|menu|summary)';
und es gibt keine main
Element.
So haben Sie einige Optionen:
- Disable wpautop überhaupt (nicht empfohlen)
- bearbeiten Wordpress Quellen und fügen Sie dieses Element der Liste. Dann erinnere dich daran nach jedem WordPress-Upgrade.
Oder melden Sie es, erstellen Patch/Nachfrage ziehen und für das Update warten, dann ohne Risiko aktualisieren;)
Welche Versionen (CKEditor für Wordpress und Wordpress selbst) verwenden Sie? Ich habe gerade Ihren Code mit WordPress 4.5.2 und CKEditor für WordPress 4.5.3.3 überprüft und es gibt keine zusätzliche '
& nbsp;
' nach dem Wechsel zu/von Visual/HTML, keine Source in CKEditor. – VokielIch habe die gleichen Versionen, die Sie geschrieben haben. Ich denke, du hast nicht bemerkt, dass ich über den Tag "main" gesagt habe. Alle anderen Tags schreiben normal. Sie können es in Ihrem Beispiel überprüfen. Wenn du nichts hast - nimm mir deinen Zugang. Sicher, wenn du kannst. –
Haben Sie zusätzliche Plugins installiert? Oder einige andere Konfigurationsänderungen? Ich habe gerade mit Inhalt nach innen, statt '' geprüft Kommentar, wie: '' ' \t \t \t '' ' Und es funktionierte gut - keine'
'eingefügt. – Vokiel
\t \t Vielleicht gibt es ein Problem mit dem ist einige Inhalte \t
\t\t \t \t Another paragraph \t \t
\t