Udało mi się przekonwertować moją instalację 4.3.1 na wszystkie https. Po aktualizacji do 4.4. Mam problem z nowym srcset
atrybutem. Podczas gdy src
atrybut obrazów jest ustawiany za pomocą https, srcset
atrybut to http. To powoduje, że przeglądarki nie wyświetlają żadnego obrazu.
Czekając na lepszą poprawkę, chcę srcset
całkowicie wyłączyć ustawienie atrybutu, aby wszystkie obrazy miały tylko src
atrybut. W jaki sposób mogę to zrobić?
images
responsive
https
brokkr
źródło
źródło
add_filter
linii, w którejdefault-filters.php
uważałem, że jestem odpowiedzialny://add_filter( 'the_content', 'wp_make_content_images_responsive' );
srcset
zostały poprawnie utworzone przez WordPress. Jak przeprowadziłeś migrację z HTTP na HTTPS?Odpowiedzi:
Oto kilka rzeczy, które możesz spróbować usunąć responsywną obsługę obrazów w 4.4:
ale jak wspomniano w @cybmeta, problem może być gdzie indziej.
Wymuś włączenie protokołu https
srcset
Możesz przeprowadzić debugowanie z
wp_calculate_image_srcset
filtrem, a nawet wypróbować tę szybką poprawkę :ustawić schemat adresu URL na
https
. Innym podejściem byłoby pozbawienie go schematów//
.Sprawdź Kodeks dla innych
set_url_scheme()
opcji:Ale powinieneś spróbować kopać głębiej i znaleźć podstawową przyczynę.
Aktualizacja:
Mogliśmy wcześniej wyskoczyć z
wp_calculate_image_srcset()
funkcji za pomocą:następnie używając filtrów
wp_calculate_image_srcset
lubmax_srcset_image_width
.Zaktualizowano również zgodnie z biletem # 41895 , aby zwrócić pustą tablicę zamiast false / null.
źródło
add_filter( 'wp_calculate_image_srcset_meta', '__return_null' );
Rozwiązanie pracował wielki dla mnie. Dziękuję Ci!Najprostszym i najczystszym sposobem na zrobienie tego jest po prostu:
Aby powtórzyć to, co mówi większość innych ludzi, srcset to dobry pomysł i jest przyszłością (najlepsza praktyka teraz), ale jeśli potrzebujesz szybkiej poprawki, aby utrzymać działanie witryny, powyższy fragment działa bez żadnego hakowania.
źródło: WP Core Blog
źródło
__return_false
zamiastdisable_srcset
, wp ma funkcje do takich prostych zadań.Najprawdopodobniej przyczyną
srcset
nieprawidłowego wyświetlania adresów URL w atrybutach jest HTTPS, ponieważ adresy URL wszystkich obrazów są tworzone przy użyciu wartości opcji siteurl w tabeli wp_options. Jeśli obsługujesz interfejs przez HTTPS, powinieneś również zmienić te wartości (poprzez Ustawienia> Ogólne).Oto powiązany bilet w systemie śledzenia problemów WordPress: https://core.trac.wordpress.org/ticket/34945
źródło
Spowoduje to wyłączenie kodu srcset, eliminując wszelkie obrazy szersze niż 1 piksel.
Na dłuższą metę powinieneś spróbować naprawić rzeczywisty problem. Działa to jednak, jeśli potrzebujesz szybkiej poprawki.
źródło
create_function()
W Ustawieniach / Ogólne upewnij się, że adres WordPress (URL) i adres strony (URL) są ustawione na https://twojadomena.com
Zobacz http://wptavern.com/how-to-fix-images-not-loading-in-wordpress-4-4-while-using-ssl
źródło