Adăugați o etichetă Span în jurul titlului unui produs în WooCommerce
Personalizez o temă custom pentru a utiliza WooCommerce. Una dintre problemele pe care le-am întâmpinat este adăugarea unei etichete span în jurul titlului produsului pe pagina individuală a produsului. Am descoperit cum să adaug un filtru la metoda the_title
dar din păcate această metodă este folosită și în alte locuri cum ar fi în atributul alt al imaginii produsului (care o strică).
Există vreo modalitate de a specifica modificarea lui the_title
doar când se afișează titlul principal pe pagină în loc să fie folosit și în alte părți precum un atribut de imagine?
Iată ce am până acum:
function my_product_title($title, $id)
{
if(in_the_loop() && is_product())
{
return '<span class="border">FooBar</span>';
}
return $title;
}
add_filter( 'the_title', 'my_product_title', 5, 2);
Nu ar trebui să existe o modalitate de a folosi filtrul woocommerce_product_title
? Am încercat să fac asta fără succes.
Între timp știu că pot modifica fișierul șablon single-product/title.php dar aș prefera să realizez acest lucru cu acțiuni sau filtre.
Iată cum se face,
Mai întâi elimină acțiunea pentru titlul single al WooCommerce și creează propria funcție pentru a gestiona titlul, apoi adaugă înapoi acțiunea folosind noua ta funcție.
<?php
remove_action('woocommerce_single_product_summary','woocommerce_template_single_title',5);
add_action('woocommerce_single_product_summary', 'woocommerce_my_single_title',5);
if ( ! function_exists( 'woocommerce_my_single_title' ) ) {
function woocommerce_my_single_title() {
?>
<h1 itemprop="name" class="product_title entry-title"><span><?php the_title(); ?></span></h1>
<?php
}
}
?>
