Zum Ändern des "Sale Badge" kann folgende Funktion verwendet werden:
add_filter( 'woocommerce_sale_flash', 'mmx_sale_flash' );function mmx_sale_flash( $html ) {
return '<span class="onsale">%</span>';
}
[size=8][COLOR=#ff0000]Code kommt in die functions.php eines Child Themes[/COLOR][/SIZE]
Um den Produkt Title in zwei oder mehr Zeilen umzubrechen könnte man einfach ein <br> in den Titel einfügen, also beim Anlegen eines Produktes. Das führt dann aber dazu, dass der Titel überall so angezeigt wird, also auch auf der Shopseite, im Warenkorb, den Emails, im Backend, usw. Dieser Effekt ist aber nicht immer gewünscht - die meisten Kunden wollen das nur auf der Produktseite selbst ( is_single() ).
Für diesen Fall kann man den WordPress Filter the_title nutzen:
add_filter( 'the_title', 'mmx_product_title', 10, 2 );
function mmx_product_title( $title, $id ) {
if( ( is_product() && is_single() ) ) {
$parts = explode( ' ', $title );
if( count( $parts) > 1 ) {
$first_part = array_shift( $parts );
$rest_parts = implode( ' ', $parts );
$title = $first_part . '<br />' . $rest_parts;
}
}
return $title;
}
Alles anzeigen
[size=8][COLOR=#FF0000]Code kommt in die functions.php eines Child Themes[/COLOR][/SIZE]
Je nach Anwendungsfall kann es interessant sein jQuery anstatt PHP zu verwenden. Im Regelfall benötigt man das wenn andere Plugins ebenfalls Hand an den Titel legen.
(function($){
"use strict";
var first_part, rest_parts, new_title;
var $selector = $( ".product_title" );
var product_title = $selector.text();
var parts = product_title.split(' ');
if( parts.length > 1 ) {;
first_part = parts.shift();
rest_parts = parts.join(' ');
new_title = first_part + "<br />" + rest_parts;
} else {
new_title = first_part;
}
$selector.html( new_title );
})( jQuery );
Alles anzeigen
Die jQuery Funktion speichert man in einer Datei ab, z.B. mmx-product-title.js. Der besseren Übersicht wegen legt man sich dafür ein Unterverzeichnis, z.B. /js, im Child Theme an und speichert dort die eigenen jQuery Dateien ab. Geladen wird wie üblich mit:
add_action( 'wp_enqueue_scripts', 'mmx_load_scripts', 999 );
function mmx_load_scripts() {
if( is_product() && is_single() ) {
wp_enqueue_script( 'mmx-product-title', get_stylesheet_directory_uri() . '/js/mmx-product-title.js', array( 'jquery' ), '', true);
}
}
[size=8][COLOR=#FF0000]Code kommt in die functions.php eines Child Themes
[/COLOR][/SIZE]