Script aus Core (zer)stört Layout ab Kommentar-Sektion
-
Hallo!
Hoffe alle erholt und OK?Folgender Fall:
Steady, ein Mitgliedsschaftsdienst (dessen Funktion zu 95% auf deren Server sind, werden ua. auch mittels zvg. WP Plugin integriert) verfügt ua. über einen Switch, um Inhalte für Mitglieder zu zeigen oder zu verstecken.Das schaut so aus:
<script type='steady-switch' data-when="subscription">Hallo Mitglied!</script>
oder so:
<script type='steady-switch' data-when="no-subscription">Werde Mitglied!</script>
Das funzt im Editor bestens.
Aha, da kann ich doch Mitgliedern anbieten, etwa die (bei uns normalerweise nicht öffentliche (*)) Kommentarfunktion zu nutzen.
Also machte ich folgendes in die single.php des Childs:
<script type='steady-switch' data-when="subscription"><?php comments_template(); ?></script>
Auch das funzt bestens! Nur jene per, Steady eingeloggte Mitglieder sehen die Kommentar-Sektion. Passt!Aber:
Während es für alle User toll aussieht – ist für uns selber, für die in WP eingeloggten Nutzer eine Design-Katastrophe passiert: Die Sidebar fällt komplett aus der Struktur, tümpelt irgendwo herum, uvam. mehr ist im Eimer!100 Versuche, das zu reparieren schlugen fehl.
Es ist auch nicht allein das Switch Script, sondern passiert nur, wenn man damit die Kommentar-Sektion einblendet und in WP angemeldet ist.Nach langer Suche fand ich aber die Ursache:
Ein JS, welches von der \wp-includes\comment-template.php (ca. Zeile 1300) verursacht diesen Konflikt.
Das schaut so aus:function wp_comment_form_unfiltered_html_nonce() { $post = get_post(); $post_id = $post ? $post->ID : 0; if ( current_user_can( 'unfiltered_html' ) ) { wp_nonce_field( 'unfiltered-html-comment_' . $post_id, '_wp_unfiltered_html_comment_disabled', false ); echo "<script>(function(){if(window===window.parent){document.getElementById('_wp_unfiltered_html_comment_disabled').name='_wp_unfiltered_html_comment';}})();</script>\n"; } }
Baue ich diese Funktion aus, wird das <script> (s. letzte Zeile) nicht mehr in die Kommentar-Sektion der angemeldeten Nutzer eingeschleust und alles funzt bestens!
So, jetzt die eigentlichen Fragen:
1. Am Core herumbasteln ist nicht ok und nicht nachhaltig:
Wie kann man diese Funktion also anders „ausbauen“, abschalten, …? (Da keine BN-Funktion des Themes, fällt überschreiben weg?)
2. Vmtl. regelt diese Funktion die Erlaubnis, wer HTML im Kommentarfeld verwenden darf. Wenn das weg ist, darf dann jeder HTML verwenden? Problem, oder?Danke für etwaigen Input!
PS: Diese Site geht ab 01/2022 erst neu online. Bis dahin kann ich nur die üblichen Screenshots liefern.
PS 2: Das Thema beschäftigt mich nun schon länger und von jenem, die es wissen könnten, kommt keine Antwort.
*) Bisher war diese Funktion bei uns noch mit if (is_user_logged_in()) nur für Autoren zugänglich
- Das Thema „Script aus Core (zer)stört Layout ab Kommentar-Sektion“ ist für neue Antworten geschlossen.