Ich habe hoch und niedrig nach einer einfachen Lösung dafür gesucht, aber ohne Erfolg. Wordpress umhüllt meine Bilder weiterhin mit p-Tags und aufgrund der Ungereimtheit des Layouts für eine Site, an der ich arbeite, ist dies sehr ärgerlich.
Ich habe eine jQuery-Lösung zum Auspacken von Bildern erstellt, aber sie ist nicht so toll. Es verzögert sich, weil andere Inhalte auf der Seite geladen werden und die Änderungen daher nur langsam durchgeführt werden. Gibt es eine Möglichkeit zu verhindern, dass Wordpress nur Bilder mit p-Tags umschließt? Ein Haken oder Filter, der vielleicht ausgeführt werden kann.
Dies geschieht, wenn ein Bild hochgeladen und dann in den WYSIWYG-Editor eingefügt wird. Manuell in die Codeansicht zu wechseln und die p-Tags zu entfernen, ist keine Option, da der Client technisch nicht so unfähig ist.
Ich verstehe, dass Bilder inline sind, aber die Art und Weise, wie ich die Site-codierten Bilder habe, befindet sich innerhalb von divs und ist so eingestellt, dass sie blockieren, sodass sie gültiger Code sind.
Antworten:
Hier ist, was wir gestern auf einer Client-Site gemacht haben, mit der wir genau dieses Problem hatten ... Ich habe einen schnellen Filter als Plugin erstellt und ihn aktiviert.
Wenn Sie das in eine PHP-Datei in Ihrem Ordner / wp-content / plugins ablegen und dann aktivieren, sollte es die p-Tags aus jedem Absatz entfernen, der nur ein Bild enthält.
Ich bin nicht sicher, wie stark die reguläre Ausdrucksweise in Bezug darauf ist, ob sie bei Ausgaben anderer Editoren fehlschlägt - zum Beispiel, wenn das img-Tag mit nur> geschlossen wird, wird sie fehlschlagen. Wenn jemand etwas Stärkeres hat, wäre das wirklich hilfreich.
Prost,
James
--- Verbesserter Filter ---
Wenn Sie mit Bildern arbeiten möchten, die in Verknüpfungen eingebunden sind, werden die Verknüpfungen in der Ausgabe beibehalten und die p-Tags entfernt.
quelle
img
, dh<img ...>
ohne den abschließenden Schrägstrich. Es ist besser, dies in Ihrem regulären Ausdruck optional zu machen. Oder noch besser, Sie können es weglassen, da Sie.*
sich darum kümmern werden.<img ...>
ohne funktioniert/>
?Grundsätzlich müssen Sie dafür sorgen, dass WordPress img wie ein Element auf Blockebene behandelt, um es zu formatieren. Solche Elemente sind fest codiert
wpautop()
und die Liste wird leider nicht gefiltert.Was ich tun würde, ist:
wpautop()
unter anderem Namen.img
to reguläre Ausdrücke in$allblocks
Variablen.wpautop
Vomthe_content
Filter entfernen .the_content
.quelle
Vielleicht hilft das
Aber dann werden Sie die Absätze für alles andere manuell hinzufügen.
quelle
Soska hat einen / einfachen Weg vorgegeben.
Ich extrahiere jedoch ein Bild aus dem Inhalt und zeige es separat an.
quelle
Dieser Beitrag ist ein bisschen alt, aber es gibt eine viel einfachere Lösung, außer CSS.
Das Umschließen des img-Tags mit einem div hat nur geringe negative Auswirkungen.
quelle
Ich habe ein Plugin entwickelt, das genau dieses Problem behebt: http://wordpress.org/extend/plugins/unwrap-images/
Es ist besser, als einen Rand festzulegen oder direkt in den Wordpress-Code einzutauchen, wenn Sie nicht mit Code herumspielen möchten, da die native Entpackungsfunktion von jQuery verwendet wird, um alle Bilder ihrer p-Tags zu entpacken.
Hoffe das hilft jemandem! Prost, Brian
quelle
Die akzeptierte Antwort hat mir nur bei den Bildern geholfen, aber der überarbeitete Code kann mit verknüpften Bildern auf meiner Site nicht gut umgehen. Dieser Blog-Beitrag hat einen Code, der perfekt funktioniert.
Hier ist der Code:
Prost!
quelle
Ich bin kein Experte, habe aber den ganzen Nachmittag damit verbracht, in p-Tags verpackte De-Img-Probleme zu lösen, und das hat bei mir funktioniert.
Ich arbeite an einem WordPress-basierten Thema und habe es der Datei functions.js hinzugefügt
JQuery-Funktion auspacken
jetzt kann ich p und img separat arbeiten.
Sie können auch ein div mit einer anderen Klasse um das img hinzufügen, indem Sie dies verwenden:
Letzteres hat mein Problem nicht gelöst, da ich p-Tags mit display erstellen wollte: none; Also musste ich diese Bilder wirklich rausholen.
quelle
Je nach Beitrag kann eine andere Lösung darin bestehen, das unformatierte WP- Plugin zu verwenden, um die Auto-P-Funktion für jeden Beitrag einzeln zu deaktivieren.
quelle
Falls jemand nach einer schnellen und schmutzigen Möglichkeit sucht , dies für ein beliebiges Tag zu beheben, habe ich Folgendes getan:
$allblocks = '(?:table|thead|tfoot|capti...
img
,a
etc ... zum Beispiel , wenn es in endet(...)menu|summary)';
Änderung(...)menu|summary|a)';
des hinzufügena
Tag und vermeiden autopeeing es. Beachten Sie den|
Rohrtrenner - es ist Regex- Syntax!Das war's, fröhliches WordPressing!
quelle