A WooCommerce bővítmény nagyon szerethető, de mint minden fejlesztő pénből él, így érthető, hogy az alap ingyenes rész eléggé korlátolt a halandó, „majd én megoldom magamnak a webboltom” fejlesztőknek. És ha nem mindenféle bővítménnyel akarsz operálni, akkor jól jön egy két kósza script.
Akkor nézzük, mi van a csibecsőrön túl …
Egyszerre egy termék a kosárban
Szolgáltató cégnél merült fel a kérés, hogy ne lehessen több terméket bedobálni a kosárba, hisz hiába vesz valaki egy online meetinget 6x egy időpontba, attől még egyedűl lesz. Lássuk a megoldást:
add_filter( 'woocommerce_add_cart_item_data', 'single_item_add_to_cart' );
function single_item_add_to_cart( $cart_single_item ) {
global $woocommerce;
$woocommerce->cart->empty_cart();
return $cart_single_item;
}
Termék kategória átirányítása egy adott URL-re
Ugyanitt jött elő a kérés, hogy ha böngésznek a termékek között és szemfülesen az URL-ből törölget a látogató, akkor véletlenül se oda jusson, ahová hiszi, hogy jut. Lássuk a megoldást:
add_action('template_redirect', 'redirect_to_home_from_about_page');
function redirect_to_home_from_about_page() {
if( is_product_category( 'kategoria-1' ) ) {
wp_redirect( 'https://url1/' );
exit();
}
if( is_product_category( 'kategoria-1' ) ) {
wp_redirect( 'https://url2/' );
exit();
}
if( is_product_category( 'kategoria-3' ) ) {
wp_redirect( 'https://url3/' );
exit();
}
}
Értelem szerint a lekérdezési függvény végtelen számban sokszorosítható a redirect function részen belűl.
Termék a kosárba helyezve szöveg letiltása a pénztár oldalon
Néha ez jön jól, néha az, de ami biztos, valamelyik tutira kell …
add_filter ( 'wc_add_to_cart_message_html' , 'remove_add_to_cart_message' ) ;
function remove_add_to_cart_message ( $message ) {
return '' ;
}
add_filter ( 'wc_add_to_cart_message_html' , 'change_add_to_cart_message' ) ;
function change_add_to_cart_message (
$message = 'Köszi, hogy izéltél a bigyóba' ;
return $message;
}
Esetleg termék névvel …
add_filter( 'wc_add_to_cart_message', 'change_custom_add_to_cart_message', 10, 2 );
function change_custom_add_to_cart_message( $message, $product_id ) {
$message = sprintf(esc_html__('%s termék a kosárba került. Köszi előre is a vásárlást!','tm-organik'), get_the_title( $product_id ) );
return $message;
}
És tádáááám, a bűvésztrükk végéhez értünk. Remélem olyan lett a végeredmény, amilyennek lennie kell. Ha érdekel egyéb megoldás, vagy ezzel a kóddal kapcsolatban lenne kérdés, kukkants vissza, vagy kérdezz … és legyél jó mosópor és ne habozz …