Ich arbeite an einer Site, die auf einer CSS-Vorlage mit fließender Breite basiert, bei der die maximale Breite für Bilder auf die Breite der Spalte festgelegt wird, in der sie enthalten sind, und ich muss die Inline- Breite und -Höhe entfernen Bemaßungsattribute für WordPress Bildern hinzufügt.
Ich mache es mit meinen vorgestellten Bildern mit diesem Filter:
add_filter( 'post_thumbnail_html', 'remove_thumbnail_dimensions', 10, 3 );
function remove_thumbnail_dimensions( $html, $post_id, $post_image_id ) {
$html = preg_replace( '/(width|height)=\"\d*\"\s/', "", $html );
return $html;
}
Ich weiß, dass ich bei Bedarf denselben Filter auf the_content anwenden kann . Aber gibt es dafür einen besseren Weg?
images
filters
post-thumbnails
goldenapples
quelle
quelle
img_caption_shortcode
, die den Untertitel-Shortcode verarbeitet, eine Breite in den Attributen des Untertitel-Shortcodes angegeben werden muss. Andernfalls wird die Beschriftung vollständig übersprungen und der in die[caption]
Shortcode-Tags eingeschlossene Inhalt zurückgegeben .img_caption_shortcode
. Den Code für eine solche Funktion zu schreiben, ist jedoch mehr, als ich hier in Kommentare einfügen kann.img_caption_shortcode
ausreicht, um das Problem zu lösen.Antworten:
Vielen Dank an alle!
Der image_send_to_editor Filter war das, was ich suchte ... Dank @ t31os für den Hinweis it out.
Hier sind meine Funktionen jetzt.
Dadurch werden Inline-Bemaßungsattribute aus Bildern entfernt, die mit abgerufen wurden
the_post_thumbnail()
, und es wird verhindert, dass diese Attribute neuen Bildern hinzugefügt werden, die dem Editor hinzugefügt wurden. Entfernt sie nicht aus Bildern, die überwp_get_attachment_image
oder andere verwandte Funktionen abgerufen wurden (keine Haken darin), aber diese Fälle können bei Bedarf in den Vorlagendateien verarbeitet werden.quelle
image_send_to_editor
und ihn stattdessen hinzuzufügenthe_content
- wie in diesem Blogbeitrag . Dies trennt die Präsentationslogik vom Inhalt.Modifizierte dieses Skript ein wenig. Danke für die Hilfe!
quelle
wenn du die Bildgröße in function.php als "Galerie" einstellst
Sie können Breite und Höhe bestimmter Bildgrößen wie "Galerie" entfernen:
quelle
Wenn Sie diesen Filter anwenden,
the_content
wird er für alle Inhalte ausgelöst. Dies ist effektiv, kann jedoch die Leistung und Ladezeit Ihrer Site beeinträchtigen. Es wäre besser, wenn Sie WordPress anweisen, beim Einfügen von Bildern nur die Tags für die Breite und Höhe der Zeilen nicht einzufügen.Leider sind die Skripte, die das Bild tatsächlich einfügen, in JavaScript erstellt und interagieren mit dem Wysiwyg-Editor von TinyMCE. Es könnte eine Möglichkeit geben, sich direkt anzumelden, aber nicht die Standardaufrufe zu
add_filter()
verwenden.quelle
image_send_to_editor
funktionieren?