WordPress

Podpis obrazu Woocommerce Gallery: Użyj „podpisu” — nie „tagu alt”. Zachowaj tag alt bez zmian

  • 17 sierpnia, 2024
  • 3 min read
Podpis obrazu Woocommerce Gallery: Użyj „podpisu” — nie „tagu alt”. Zachowaj tag alt bez zmian


Strona nie wyświetlała tekstu („podpisów”) dla obrazów produktów (głównego obrazu i obrazów galerii). Problem został rozwiązany przez skopiowanie pliku woocommerce ../product-image.php do katalogu motywu potomnego i zmodyfikowanie go.

Do pliku dodano CSS i teraz wyświetlają się pola „alt” mediów poniżej obrazy na stronie produktu. Ten CSS został dodany do zmiennej $html, jeśli istniał identyfikator miniatury. (CSS zostanie przeniesiony w inne miejsce, aby nie pojawiał się kilka razy na stronie produktu.).

$html="

";

Tekst pod obrazkiem pochodzi z dane-thumb-alt=”” w

and tagi. (Z jakiegoś nieznanego powodu to się powtarza w

and tagi i nie wiem, który jest używany do tekstu.). Tekst przypisany do tego pochodzi z biblioteki multimediów Tekst alternatywny. Powyższy CSS robi to, gdy przypisany jest parametr „data-thumb-alt”.

WYMAGANY
(1) Nośniki obrazu Podpis tekst pola musi być wyświetlany pod obrazem, a nie pod Tekst alternatywny pole. (2) Zachowaj obraz Tekst alternatywny w "".

Dlaczego potrzebujemy "" tag różni się od tekstu pod obrazkiem?

  1. Im dłużej alt pole powinno pozostać w "" dla zgodności z ustawą ADA (Americans with Disability Act), ponieważ jest to bardziej opisowy.

  2. „Podpis” pod obrazkiem zawiera krótsze opisy, takie jak kolor, „Wyświetlony na czarno”, „Wyświetlony na czerwono” itp. To jest krótkie i na temat.

  3. Jeśli "" tag jest taki sam jak tekst pod obrazkiem, wtedy Ludzie ADA zobaczą ten tekst dwa razy jeśli wyłączą obrazy, jeden z "" i jeden z tekstu pod obrazkiem. UWAGA: Użytkownicy z upośledzeniem funkcji poznawczych mogą chcieć wyłączyć ładowanie obrazków. Widzą "" tekst i może zdecydować, czy załadować dany obraz.

  4. Nie wszystkie produkty wymagają tekstu pod obrazemtylko te z obrazkiem Podpis tag. Jeśli nie ma Podpis wówczas pod obrazkiem nie będzie żadnego tekstu.

To zostało przetestowane.

zawartość: attr(data-thumb-alt); został zmieniony na zawartość: attr(data-caption);
I dodajmy to...

$caption = get_post_field('post_excerpt', $post_thumbnail_id);
$caption = str_replace('"', "''", $caption);
$caption_repl="data-caption="" . $caption . '"';

$html_next = wc_get_gallery_image_html( $post_thumbnail_id, true );
$html_next = preg_replace('/data-thumb-alt="[^"]+"/', $caption_repl, $html_next);
$html .= $html_next;

Główny obraz: Powyższe zadziałało tylko główny obraz produktu, nie miniatury. Podpis znajdował się poniżej głównego obrazu. "" było w porządku z Tekst alternatywny.

Obraz galerii miał kod poniżej. dane-thumb-alt trzeba było zmienić na podpis danych z Podpis jako wartość, ale nie było. Jeśli mogę to uzyskać, to to zadziała. tag miał opcja danych z poprawnym Podpis etykietka.






             
    
    


Źródło

Warto przeczytać!  woocommerce offtopic - „Pole niestandardowe” dodane na stronie /checkout/ zostaje utracone po synchronizacji z HPOS