it-swarm.com.de

Hinzufügen eines Bereichs um einen Produkttitel in WooCommerce

Ich passe ein benutzerdefiniertes Design an, um WooCommerce zu verwenden. Eines der Probleme, auf die ich gestoßen bin, ist das Hinzufügen eines Span-Tags um einen Produkttitel auf der einzelnen Produktseite. Ich habe herausgefunden, wie man der the_title-Methode einen Filter hinzufügt, aber leider wird diese Methode an anderen Stellen verwendet, wie im alt-Tag des Produktbilds (wodurch es kaputt geht).

Gibt es eine Möglichkeit, anzugeben, dass the_title nur geändert werden soll, wenn der Haupttitel auf der Seite gedruckt wird, anstatt an anderer Stelle wie bei einem Bildattribut verwendet zu werden?

Folgendes habe ich bisher:

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);

Sollte es keine Möglichkeit geben, sich mit dem woocommerce_product_title-Filter zu verbinden? Ich habe es erfolglos versucht.

In der Zwischenzeit weiß ich, dass ich die Vorlagendatei single-product/title.php ändern kann, aber ich würde dies lieber mit Aktionen oder Filtern erreichen.

1
BFTrick

Hier ist, wie du es machst,

Entfernen Sie zuerst die Aktion für einen einzelnen Titel von woocommerce und erstellen Sie eine eigene Funktion für den Titel. Fügen Sie die Aktion später mit Ihrer neu erstellten Funktion wieder hinzu.

<?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
    }
}

?>
10