Pracuję nad witryną opartą na szablonie css o płynnej szerokości, który ustawia maksymalną szerokość obrazów na szerokość kolumny zawierającej je i muszę usunąć wbudowane atrybuty wymiarów szerokości i wysokości, które WordPress dodaje do obrazów.
Robię to z moimi polecanymi obrazami z tym filtrem:
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;
}
Wiem, że można zastosować ten sam filtr the_content , jeśli to konieczne. Ale czy jest na to lepszy sposób?
images
filters
post-thumbnails
Złote Jabłka
źródło
źródło
img_caption_shortcode
przetwarzająca krótki kod podpisu wymaga określenia szerokości w atrybutach shortcode podpisu. W przeciwnym razie całkowicie pomija podpis i po prostu zwraca treść[caption]
zawartą w znacznikach shortcode.img_caption_shortcode
. Jednak napisanie kodu dla takiej funkcji to więcej niż mogę zmieścić w komentarzach tutaj.img_caption_shortcode
rozwiąże problem.Odpowiedzi:
Dziękuje wszystkim!
Image_send_to_editor filtr był jeden szukałem ... dzięki @ t31os za wskazanie go.
Oto moje funkcje teraz.
Usuwa to wbudowane atrybuty wymiaru z obrazów pobranych za pomocą
the_post_thumbnail()
i zapobiega dodawaniu tych atrybutów do nowych obrazów dodawanych do edytora. Nie usuwa ich z obrazów pobranych za pośrednictwemwp_get_attachment_image
lub innych powiązanych funkcji (bez zaczepów), ale te przypadki można przetwarzać w plikach szablonów, jeśli to konieczne.źródło
image_send_to_editor
i dodaniem go dothe_content
- jak na tym blogu . To oddziela logikę prezentacji od treści.Trochę zmodyfikowałem ten skrypt. Dzięki za pomoc!
źródło
jeśli ustawisz rozmiar obrazu w function.php jako „galerię”
możesz usunąć szerokość i wysokość określonego rozmiaru obrazu, np. „galeria”:
źródło
Zastosowanie tego filtru
the_content
spowoduje jego uruchomienie dla całej zawartości. Będzie to skuteczne, ale może wpłynąć na wydajność i czas ładowania witryny. Byłoby lepiej, gdybyś powiedział WordPressowi, aby po prostu nie wstawiał wbudowanych znaczników szerokości i wysokości podczas wstawiania obrazów.Niestety, skrypty, które faktycznie wstawiają obraz są wbudowane w JavaScript i współpracują z edytorem wysiwyg TinyMCE. Może istnieć sposób, aby podłączyć się do niego bezpośrednio, ale nie używając standardowych
add_filter()
wywołań.źródło
image_send_to_editor
?