/** * Verschiebt das Coupon-Formular im Warenkorb nach der Tabelle. */ add_action( ‘woocommerce_after_cart_table’, ‘woocommerce_checkout_coupon_form’, 30 ); // Hinweis: Dies funktioniert nur, wenn der Standard-Hook nicht entfernt wurde. /** * Entfernt den Versandkostenrechner im Warenkorb (HTML-Output). */ function shipping_estimate_html() { return…Continue reading
/** * Versteckt den Standard WooCommerce Sale Flash. */ add_filter(‘woocommerce_sale_flash’, ‘lw_hide_sale_flash’); function lw_hide_sale_flash() { return false; // Gibt false zurück, um den Flash zu unterdrücken } /** * Fügt ‘+’ und ‘-‘ Buttons zum Mengenfeld hinzu. */ add_action( ‘woocommerce_after_quantity_input_field’, ‘bbloomer_display_quantity_plus’…Continue reading
/** * Ändert die Reihenfolge von Elementen auf variablen Produktseiten. */ function shuffle_variable_product_elements(){ // Nur auf Produktseiten ausführen if ( is_product() ) { global $post; // $post sollte hier verfügbar sein if ( !$post ) return; // Fallback $product =…Continue reading
/** * Zeigt verlinkte Produkte (ACF basiert) auf Einzelproduktseiten an. * Funktion für Simple/Grouped/Bundle Produkte. */ // add_action( ‘woocommerce_before_variations_form’, ‘related_products_options’, 30); // Auskommentiert im Original add_action( ‘woocommerce_single_product_summary’, ‘related_products_options’, 20 ); function related_products_options() { global $product, $post; // Nutze $product direkt…Continue reading
/** * Passt die Preisspanne für variable Produkte an, berücksichtigt Sale-Preise und einen Discount-Plugin-Filter. */ function wc_varb_price_range( $wcv_price, $product ) { // Nur für variable Produkte ausführen if ( ! $product instanceof WC_Product_Variable ) { return $wcv_price; } $variation_ids =…Continue reading
/** * Fügt benutzerdefinierte Taxonomie-Term-Klassen zu den Post-Klassen von Produkten hinzu. */ add_filter (‘post_class’ , ‘my_post_class’, 10, 3); function my_post_class($classes, $add_classes, $post_id) { // Parameter $add_classes umbenannt für Klarheit if ( ‘product’ === get_post_type($post_id) && class_exists(‘WooCommerce’) ) { // Prüfe…Continue reading
/** * Fügt einen DIV-Wrapper mit der Spectrum-Klasse um Produkte im Loop hinzu. */ add_action( ‘woocommerce_before_shop_loop_item’, ‘add_product_cat’, 2); function add_product_cat() { global $product; // Prüfen ob $product ein WC_Product Objekt ist if ( ! $product instanceof WC_Product ) return; //…Continue reading
/** * Registriert die benutzerdefinierte Taxonomie ‘spectrum’ für Produkte. */ add_action( ‘init’, ‘custom_taxonomy_spectrum’, 0 ); // Priorität 0 für frühe Registrierung function custom_taxonomy_spectrum() { // Prüfen ob Taxonomie bereits existiert if ( taxonomy_exists(‘spectrum’) ) return; $labels = array( ‘name’ =>…Continue reading
/** * Shortcode [category-faq-block] für FAQ-Bereich auf Kategorieseiten (ACF basiert). */ function category_faq_section(){ // Prüfen ob ACF aktiv ist und wir uns nicht im Admin befinden if ( !function_exists(‘have_rows’) || is_admin() ) return; $term = get_queried_object(); // Nur ausführen, wenn…Continue reading
/** * Fügt JS hinzu, um die ausgewählte Variations-ID in ein Feld zu schreiben. * Nutzt wc_enqueue_js, was zu Problemen mit Minifyern führen kann. */ add_action( ‘woocommerce_before_add_to_cart_quantity’, ‘bbloomer_display_dropdown_variation_add_cart’ ); function bbloomer_display_dropdown_variation_add_cart() { global $product; // Prüfen ob $product ein WC_Product…Continue reading