Woocommerce oder Dein Theme macht nicht das was Du willst? Hier sind meine Lieblingsscripte für Woocmmerce!

Inhalt

Einleitung

Alle Scripte laufen auf meinen Installationen. trotzdem gebe ich keine Garantie, dass sie auch bei Dir funktionieren.

Wenn Du eine Änderungun an der functions.php durchführen möchtest, sichere zuerst Deine Seite.

Los gehts!

Nur gratis Versand anzeigen 

Mit diesem Script zeigt Woocommerce nur noch den “Gratis Versand” an wenn dieser verfügbar ist. Somit hat der User keine verwirrende Auswahlmöglichkeit mehr. Den graits Versand konfigurierst Du in den Woocommerce Einstellungen (z.B.: gratis Versand ab €XX), sobald dieser Schwellenwert überschritten oder erreicht ist, ist der gratis Versand die einzige Option beim Checkout. 

/* Gratis Versand anzeigen und Versandkostenpauschale ausblenden, wenn verfügbar */
 
 function show_only_free_shipping_if_available( $rates )
{
    $free = array();
     foreach ( $rates as $rate_id => $rate )
    {
         if ( 'free_shipping' === $rate->method_id )
        {
              $free[ $rate_id ] = $rate;
              break;
        }
   }
   return ! empty( $free ) ? $free : $rates;
}

add_filter( 'woocommerce_package_rates', 'show_only_free_shipping_if_available', 90 ); 

Ab Preis anstatt von bis

Von bis Preise in Woocommerce können abschreckend für den User sein. Ab Preise sind meist gefälliger und laden den User zur Interaktion ein. hier kommt das Script: 

/* Variable Product ab Preis anstatt von bis */
/**
 * Format price range.
 *
 * @param string $price
 * @param float  $from
 * @param float  $to
 *
 * @return string
 */
function iconic_format_price_range( $price, $from, $to ) {
    return sprintf( '%s: %s', __( 'ab', 'iconic' ), wc_price( $from ) );
} 
 
add_filter( 'woocommerce_format_price_range', 'iconic_format_price_range', 10, 3 ); 

Produktübersicht Kategorie Link

Wir alle kennen die Produktkarten ind der Produktübersicht. In diesen ist meist auch die Produktkatekorie abgebildet, jedoch wäre es auch toll wenn man die Kategorie auch anklicken kann. Das erleichtert dem User die Navigation.


remove_action('woocommerce_shop_loop_item_title', 'woocommerce_template_loop_product_title', 10);
add_action( 'woocommerce_shop_loop_item_title', 'VS_woo_loop_product_title', 10 );
function VS_woo_loop_product_title() {
    
    $terms = get_the_terms( $post->ID, 'product_cat' );
    if ( $terms && ! is_wp_error( $terms ) ) :
    // only displayed if the product has at least one category
        $cat_links = array();
    foreach ( $terms as $term ) {
        $cat_links[] = '<a href="'.esc_url( home_url() ).'/kategorie/'.$term->slug.'">'.$term->name.'</a>';

    }
    $on_cat = join( ", ", $cat_links );
    ?>
    <div class="label-group">
        <div class="categories-link"><?php echo $on_cat; ?></div>

    </div>
<?php endif;

} 

Image Zoom entfernen

Auf der Produkt Einzelansicht gibt es  meist auch die Image zoom Funktion, welche nur in den seltensten Fällen auch sinnvoll ist – hiermit deaktivierst Du ihn

/* Den Img Zoom entfernen */
function remove_image_zoom_support() {
    remove_theme_support( 'wc-product-gallery-zoom' );
}
add_action( 'wp', 'remove_image_zoom_support', 100 );
 

Breadcrumb umbenennen

Ein sehr lästiges Teil! Breadcrumbs sind sehr nützlich wenn es um den USerflow geht oder um SEO. Leider heisst die Toplevel Seite immer “startseite” oder “home” – wenn man das nicht möchte einfach diesen code in Deine functions.php kopieren.

/* Breadcrumb statt Startseite Deine tolle Seite anzeigen*/
add_filter( 'woocommerce_breadcrumb_defaults', 'ts_change_breadcrumb_home_text',20);

function ts_change_breadcrumb_home_text( $defaults) {
// Change the breadcrumb home text from 'Home' to 'SuperStore'
$defaults['home'] = 'Deine tolle Seite';

return $defaults;
}