editor - schreibt <p> um images

  • Hallo, ich suche hier schon seit geraumer Zeit und finde keine Heilung.
    Nutze 4.0 und den tinymce advanced, mit dem ich bisher gut zurechtgekommen bin.
    Und ein childtheme von responsive.

    Ich konnte nach Installation vom Textcontrol-plugin endlich die Bilder neben einandersetzen, weil nun keine <p> mehr um die Bilder erzeugt werden - dafür wird aber jetzt vom Editor bei jedem Aktualisieren immer ein <p>&nbsp;</p> zwischen die Bilder gesetzt.

    Schalte ich das plugin aus, wird zwischen die Bilder ein <br> gesetzt.
    WARUM???


    Wie kann ich denn das loswerden?


    Ich habe auch versucht, einfach die Bilder mit der WPGalerie anzuordnen:
    Dann werden sie gar nicht angezeigt.
    Ich bin am Verzweifeln!
    Im frontend und im Quelltext ist nichts mehr davon zu sehen - obwohl sie im backend im visuellen Modus sichtbar sind und im textmodus steht [gallery columns="2" link="none" ids="313,316,315,312"]

    Vielen Dank für eure HILFEEE!!

    sitze hier seit Stunden, wegen Themen, die sonst kein Probelm sind - was kann denn sein?
    Der Haken bei den einstellungen wegen verschachteltem HTML ist auch NICHT gesetzt.

    Danke.
    Im übrigen kann ihc auch nicht den cursor ans ende platzieren.

    Einmal editiert, zuletzt von irmen (11. Dezember 2014 um 14:55)

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Hallo

    füge folgenden Code ganz an das Emde deiner functions.php ein:

    PHP
    function filter_ptags_on_images($content){    
    return preg_replace('/<p>\s*(<a .*>)?\s*(<img .* \/>)\s*(<\/a>)?\s*<\/p>/iU', '\1\2\3', $content); } 
    add_filter('the_content', 'filter_ptags_on_images');

    Das sollte die p-Tags um die Images entfernen.

    LG, pixselig

  • Vielen Dank für den code!!!!
    Zwei Fragen erstens:
    ich habe hier im responsive viele einzelne Functions.phps
    die liegen im ordner "responsive/core/includes".

    direkt im Hauptordner "responsive" liegt auch eine functions.php, mit folgendem code

    In meine childtheme, kann ich eine leere functions anlegen - dann weiß ich aber nicht, ob dieser code, den du mir geschickt hast, ans Ende kommt.
    Oder soll ich den ganzen code aus der orginal-functions in meine child-functions copieren und dann unten dein schnipsel?

    OOder, soll ich das ganze mit der functions.php machen
    die dort im "responsive/core/includes" liegt (also analog in meinem child theme), denn dort stehen wirklich functionen in der Erstgenannten werden eigentlich doch nur die verschiedenen phps aus dem includes-ordner aufgerufen.

    OOOder soll ich es in der '/core/includes/upsell/theme-upsell.php' weil die als letzte aufgerufen wird???
    Ich meine, damit der code auch wirklich ans ans Ende kommt ...

    Ich hoffe, ich habe mich einigermaßen verständlich ausgedrückt.
    Kannst du mir das bitte noch etwas entwirren helfen???

    Vielen Dank! Irmen

    PS Momentan schreibt der editor um meine bilder kein <p> mehr herum aber schreibt sobald man aktualisiert ein <p>&nbsp;</p> zwischen alle Bilder, so dass man wieder keine Bilder auf gleicher höhe nebeneinander kriegt . stöhn.

    Einmal editiert, zuletzt von irmen (12. Dezember 2014 um 09:03)

  • eigene Funktionen schreibst du in die functions.php deines Child. Das Parent Theme brauchst du nicht anfassen.

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • Ja, vielen Dank!
    - ich weiß nur nicht, wie ich es bewerkstelligen soll, dass der code dann ans ENDE kommt, das ist wichtig, weil ersonst womöglich wieder überschrieben wird. außerdem habe ihc ja nichtnureine functions.php sondern viele siehe gesendeter code

    wo soll ich die funktion nun reintun in welche der ganzen funtion.phps - sowieso immer in eine neue, die dann in meinem childtheme liegt - aber in welche?

    also wenn ich den code in die functions, die die ganzen anderen funciton.phps auf ruft ans ende rein scheibe bekomme ich folgende Fehlermeldung:

    Zitat


    Fatal error: Cannot redeclare responsive_free_get_option() (previously declared in /homepages/4/d425853421/htdocs/wp/wp-content/themes/responsive-childtheme-master/functions.php:32) in /homepages/4/d425853421/htdocs/wp/wp-content/themes/responsive/functions.php on line 41

    den code der functions.php habe ich ja schon oben gepastet.

    Danke für einen tipp!
    Irmen

    Einmal editiert, zuletzt von irmen (12. Dezember 2014 um 10:25)

  • In meine childtheme, kann ich eine leere functions anlegen


    Mach das einfach mal und füge den Code ein.

    Also in etwa so

    PHP
    <?php
    
    
    function filter_ptags_on_images($content){    
    return preg_replace('/<p>\s*(<a .*>)?\s*(<img .* \/>)\s*(<\/a>)?\s*<\/p>/iU', '\1\2\3', $content); } 
    add_filter('the_content', 'filter_ptags_on_images');  
    
    
    ?>


    Es ist ja eine eigene Funktion, wer soll die überschreiben?

    Du könntest auch noch mit priority arbeiten:
    http://codex.wordpress.org/Function_Reference/add_filter

    Das Geheimnis des Könnens liegt im Wollen!
    [size=12]Bitte keine Hilfegesuche per PN (auch keine "privaten" Links). Das ist ein öffentliches Forum.[/SIZE]

  • Aber irmen schreibt doch, dass um die Bilder (img) eben gerade kein <p> Tag geschrieben wird. Der Regex läuft dann ins Leere. Man könnte ja grundsätzlich mit

    Code
    <p>[\s\t]*?&nbsp;[\s\t]*?</p>

    filtern aber ich denke es wäre besser herauszufinden in welcher Funktion das passiert.

    Falls das Plugin sonst nicht gebraucht wird, ist die Funktion von pixelig mit dem 'img' Regex möglich. Trotzdem würde ich nur dann den "the_content" Filter einsetzen wenn es wirklich nicht anders geht. Dieser Filter wird auf jeden Post angewendet - bei jedem Aufruf. Ein echter Perfomancekiller.

    Warum nicht einfach bereits beim Einfügen des Bildes in den Artikel die Formatierung anpassen? Für einen Kunden musste ich komplexe Overlays über Bilder legen und habe dafür den image_send_to_editor Hook verwendet.

    Code
    add_filter( 'image_send_to_editor', 'mmx_modify_img_data', 30, 8 );
    function mmx_modify_img_data ( $html, $id, $caption, $title, $align, $url, $size, $alt ) {
        /*
            $html bearbeiten
        */
        return $html;
    }

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Oh das wird grade etwas verwirrend - VIELEN DANK FÜR EURE HILFE!!!

    ich hab es jetzt in die functions in meinem childtheme in /core/includes - das mit dem p um die Bilder funktioniert.

    DANKE!!!!

    was leider immer noch recht störend ist, sit, daß der zwischen die Bilder immer ein <p>&nbsp;</p> schreibt.

    Kann mir bitte bitte jemand noch ein bischen hlefen und den codeverraten, mit dem ich Wordpress dazu kriege, das zu lassen!!

    Dann wäre ich schon recht glücklich!
    Danke!

    grade sehe ich dass man das wohl mit

    Zitat

    <p>[\s\t]*?&nbsp;[\s\t]*?</p>


    machen könnte - viele nDank - blos wieschreib ich jetzt das wieder wo rein?
    bitte nochmal kurz nachhilfe das muss wahrscheinlich auch in diese functions -aber wie genau?


    muss ich das vielleicht so schreiben:

    Zitat

    [COLOR=#000000][COLOR=#0000BB]<?php

    [/COLOR][COLOR=#007700]function [/COLOR][COLOR=#0000BB]filter_ptags_ohne_space[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]$content[/COLOR][COLOR=#007700]){
    return [/COLOR][COLOR=#0000BB]preg_replace[/COLOR][COLOR=#007700]([/COLOR][COLOR=#DD0000]'<p>[\s\t]*?&nbsp;[\s\t]*?</p>'[/COLOR][COLOR=#007700], [/COLOR][COLOR=#DD0000]'\1\2\3'[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]$content[/COLOR][COLOR=#007700]); }
    [/COLOR][COLOR=#0000BB]add_filter[/COLOR][COLOR=#007700]([/COLOR][COLOR=#DD0000]'the_content'[/COLOR][COLOR=#007700], [/COLOR][COLOR=#DD0000]'[COLOR=#000000][COLOR=#0000BB]filter_ptags_ohne_space[/COLOR][COLOR=#007700][/COLOR][/COLOR]'[/COLOR][COLOR=#007700]);

    [/COLOR][COLOR=#0000BB]?>[/COLOR] [/COLOR]


    ???

    Einmal editiert, zuletzt von irmen (12. Dezember 2014 um 10:56)

  • Vielen Dank,

    das hab ich jetzt drin - aber der schreibt jetzt ein <br> rein.

    ???


    blöderweise muss ich an dieser spanndenden Stelle zu einem Termin.
    Ich hoffe, es fällt noch jemdem etwas ein, wie ich nun auch noch das <br> ausmerzen kann.

    Danke für die hilfe!!!
    Irmen

    Einmal editiert, zuletzt von irmen (12. Dezember 2014 um 11:11)

  • Hast du denn nach dem ersten Bild geschalten (Enter) und dann erst das zweite eingefügt?

    Das Geheimnis des Könnens liegt im Wollen!
    [size=12]Bitte keine Hilfegesuche per PN (auch keine "privaten" Links). Das ist ein öffentliches Forum.[/SIZE]

  • nein, und er zeigt es auch ohne irgendwas direkt ebeneinanderan. auch im frontend. aber sobald ich es aktualisiere, wird seit neuestem eben ein <br> zwischen den Bildern eingefügt.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!