W artykule:
- 1-Zastąp domyślne logo PayPal WooCommerce
- 2-Zastąp domyślny obraz zastępczy produktu
- 3-Usuń „produkty” z bułki tartej
- 4-pusty koszyk
- 5-Automatyczne dodawanie produktu do koszyka podczas wizyty
- 6-Dodaj niestandardową walutę / symbol
- 7-Zmień tekst przycisku Dodaj do koszyka
- 8-przekierowanie subskrypcja Dodaj do koszyka do strony kasy
- 9-przekierowanie do strony kasy po dodaniu do koszyka
- 10-CC wszystkie e-maile
- 11-wyślij e-mail, gdy nowe zamówienie zostanie zakończone z wykorzystanymi kuponami
- 12-Zmień numer powiązanych produktów
- 13-Wyklucz produkty z określonej kategorii na stronie sklepu
- 14-Zmiana numeru kolumn sklepu
- 15-Wyłącz karty WooCommerce
- 16-Usuń bułkę tartą
- 17-Ogranicz listę krajów wysyłki
- 18-Replace ” Za Darmo!”ciąg produktów
- 19-Ukryj wszystkie inne metody wysyłki, gdy Darmowa Wysyłka jest dostępna
- 20-sprawdź, czy pole „Stan” kasy nie jest wymagane
- 21-Utwórz kupon programowo
- 22-Zmień temat wiadomości e-mail
- 23-Dodaj opłatę niestandardową do koszyka
- 24-Custom dodany do koszyka wiadomość
- 25-Dodaj metodę płatności do wiadomości e-mail administratora
Kilka dni temu napisałem post, w którym wymieniłem 25 najbardziej przydatnych urywków WooCommerce, których używam, a wielu ludzi prosiło o więcej, więc dzisiaj postanowiłem dostarczyć więcej urywków dla WooCommerce! Zaczynamy!
1-Zastąp domyślne logo PayPal WooCommerce
/*
* Wymień domyślną ikonę Paypal WooCommerce
*/
function paypal_checkout_icon () {
return "https://www.paypalobjects.com/webstatic/mktg/logo-center/logo_betalen_met_paypal_nl.jpg'; // wpisz tutaj swój własny adres URL obrazka
}
add_filter ('woocommerce_paypal_icon', 'paypal_checkout_icon');
2-Zastąp domyślny obraz zastępczy produktu
/*
* idzie w funkcjach tematycznych.php lub niestandardową wtyczkę. Zamień nazwę pliku obrazu / ścieżkę na własną:)
*
**/
add_action ('init', 'custom_fix_thumbnail');
function custom_fix_thumbnail () {
add_filter ('woocommerce_placeholder_img_src', 'custom_woocommerce_placeholder_img_src');
function custom_woocommerce_placeholder_img_src ($src ) {
$upload_dir = wp_upload_dir();
$uploads = untrailingslashit( $upload_dir['baseurl'] );
$src = $uploads . '/2012/07/ thumb1.jpg";
return $ src;
}
}
3-Usuń „produkty” z bułki tartej
/*
* Ukryj "produkty" w WooCommerce breadcrumb
*/
function woo_custom_filter_breadcrumbs_trail ($trail ) {
foreach ($trail as $k = > $v) {
if ( strtolower (strip_tags ($v)) = = 'products') {
unset ($trail[$k] );
break;
}
}
return $ trail;
}
add_filter ('woo_breadcrumbs_trail', 'woo_custom_filter_breadcrumbs_trail', 10) ;
4-pusty koszyk
/*
* Pusty koszyk WooCommerce
*/
function my_empty_cart () {
global $woocommerce;
$woocommerce->koszyk->empty_cart();
}
add_action ('init', 'my_empty_cart');
5-Automatyczne dodawanie produktu do koszyka podczas wizyty
/*
* Dodaj produkt do koszyka podczas wizyty
*/
function add_product_to_cart () {
jeśli ( ! is_admin() ) {
global $woocommerce;
$product_id = 64;
$found = false;
// sprawdź, czy produkt jest już w Koszyku
if (sizeof ($woocommerce->cart->get_cart ()) > 0) {
foreach ($woocommerce->cart->get_cart () as $cart_item_key => $values) {
$_product = $values ['data'];
if ($_product - > id = = $product_id )
$found = true;
}
// jeśli produkt nie został znaleziony, dodaj go
jeśli ( ! $ found )
$woocommerce - > koszyk - > add_to_cart ($product_id );
} else {
// jeśli nie ma produktów w Koszyku, dodaj go
$woocommerce - > koszyk - > add_to_cart ($product_id );
}
}
}
add_action ('init', 'add_product_to_cart');
6-Dodaj niestandardową walutę / symbol
add_filter ('woocommerce_currencies', 'add_my_currency' );
function add_my_currency ($currencies ) {
$waluty['ABC'] = __( 'nazwa waluty', 'woocommerce' );
zwrot $ waluty;
}
add_filter ('woocommerce_currency_symbol', 'add_my_currency_symbol', 10, 2);
function add_my_currency_symbol ($currency_symbol, $currency ) {
switch ($currency ) {
case 'ABC': $currency_symbol ='$'; break;
}
return $currency_symbol;
}
7-Zmień tekst przycisku Dodaj do koszyka
/**
* Zmiana tekstu Dodaj do koszyka na stronach pojedynczych produktów
*/
function woo_custom_cart_button_text () {
return __('my Button Text','woocommerce');
}
add_filter ('single_add_to_cart_text', 'woo_custom_cart_button_text');
/**
* Zmiana tekstu Dodaj do koszyka w Archiwum produktów
*/
function woo_archive_custom_cart_button_text () {
return _ _ ('my Button Text',' woocommerce');
}
add_filter ('add_to_cart_text', 'woo_archive_custom_cart_button_text');
8-przekierowanie subskrypcja Dodaj do koszyka do strony kasy
/**
* Przekierowanie subskrypcji Dodaj do koszyka na stronę kasy
*
* @ param string $url
*/
function custom_add_to_cart_redirect ($url ) {
$product_id = (int) $_REQUEST ['Dodaj do koszyka'];
if (class_exists ('WC_Subscriptions_Product')) {
if ( WC_Subscriptions_Product:: is_subscription ($product_id)) {
return get_permalink (get_option ('woocommerce_checkout_page_id' ) );
} else return $ url;
} else return $ url;
}
add_filter ('add_to_cart_redirect', 'custom_add_to_cart_redirect');
Ten fragment wymaga wtyczki subskrypcje.
9-przekierowanie do strony kasy po dodaniu do koszyka
/**
* Przekierowanie subskrypcji Dodaj do koszyka na stronę kasy
*
* @ param none
*/
function add_to_cart_checkout_redirect () {
wp_safe_redirect (get_permalink (get_option ('woocommerce_checkout_page_id' ) ) );
die ();
}
add_action ('woocommerce_add_to_cart', 'add_to_cart_checkout_redirect', 11 );
10-CC wszystkie e-maile
/**
* Dodatkowa Funkcja WooCommerce
* --------------------------
*
* Dodaj kolejnego odbiorcę wiadomości e-mail do wszystkich wiadomości e-mail WooCommerce
*
*/
function woo_cc_all_emails () {
return 'Bcc: youremail@yourdomain.com". "Rn";
}
add_filter ('woocommerce_email_headers', 'woo_cc_all_emails');
11-wyślij e-mail, gdy nowe zamówienie zostanie zakończone z wykorzystanymi kuponami
/**
* Dodatkowa Funkcja WooCommerce
* --------------------------
*
* Wyślij e-mail za każdym razem, gdy zamówienie z kuponem (kuponami) zostanie zrealizowane
* E-mail zawiera kupon(y) używany podczas procesu realizacji transakcji
*
*/
function woo_email_order_coupons ($order_id ) {
$order = new WC_Order ($order_id );
if ($order->get_used_coupons() ) {
$to = "youremail@yourcompany.com';
$subject = 'nowe zlecenie zakończone';
$headers = 'From: My Name' . "Rn";
$message = ' nowe zlecenie zostało zakończone.n';
$ wiadomość .= "Order ID:",$order_id.'n';
$ wiadomość .= "Używane kupony:n",;
foreach ($order->get_used_coupons () as $ coupon) {
$ wiadomość .= $ kupon.'n';
}
@ wp_mail( $to, $subject, $message, $headers );
}
}
add_action ('woocommerce_thankyou', 'woo_email_order_coupons');
12-Zmień numer powiązanych produktów
/**
* Dodatkowa Funkcja WooCommerce
* --------------------------
*
* Zmień liczbę powiązanych produktów na stronie produktu
* Ustaw własną wartość dla 'posts_per_page'
*
*/
function woo_related_products_limit () {
global $ produkt;
$args = array(
'post_type' = > 'produkt',
'no_found_rows' = > 1,
'posts_per_page' = > 6,
'ignore_sticky_posts' = > 1,
'orderby' = > $orderby,
'post _ _ in' = > $ related,
'post _ _ not _ in' = > array ($product - > id)
);
return $ args;
}
add_filter ('woocommerce_related_products_args', 'woo_related_products_limit');
13-Wyklucz produkty z określonej kategorii na stronie sklepu
/**
* Usuń produkty ze strony sklepu według kategorii
*
*/
function woo_custom_pre_get_posts_query ($q ) {
jeśli ( ! $q - > is_main_query ()) return;
jeśli ( ! $q- > is_post_type_archive ()) return;
jeśli ( ! is_admin () & & is_shop() ) {
$q- > set ('tax_query', array (array(
'taxonomy' = > 'product_cat',
'field' = > 'slug',
'terms' = > array ('buty'), / / nie wyświetlaj produktów w kategorii Buty na stronie sklepu
'operator' = > 'NOT IN'
)));
}
remove_action ('pre_get_posts', 'custom_pre_get_posts_query');
}
add_action ('pre_get_posts', 'woo_custom_pre_get_posts_query');
14-Zmiana numeru kolumn sklepu
/**
* Dodatkowa Funkcja WooCommerce
* --------------------------
*
* Zmiana numeru kolumn produktu na stronach sklepu
*
*/
function woo_product_columns_frontend () {
global $woocommerce;
// Wartość domyślna używana również dla kategorii i podkategorii
$columns = 4;
// Lista Produktów
if ( is_product_category() ) :
$columns = 4;
endif;
// Produkty Powiązane
if ( is_product() ) :
$columns = 2;
endif;
// Cross Sells
if ( is_checkout() ) :
$columns = 4;
endif;
return $ columns;
}
add_filter ('loop_shop_columns', 'woo_product_columns_frontend');
15-Wyłącz karty WooCommerce
/**
* Usuń karty produktów
*
*/
function woo_remove_product_tab ($tabs) {
unset ($tabs['description']); / / Usuń kartę opisu
unset ($tabs['recenzje']); / / Usuń kartę recenzje
unset ($tabs['additional_information']); / / Usuń kartę dodatkowe informacje
return $tabs;
}
add_filter ('woocommerce_product_tabs', 'woo_remove_product_tab', 98) ;
16-Usuń bułkę tartą
/**
* Usuń WooCommerce BreadCrumb
*
*/
remove_action( 'woocommerce_before_main_content', 'woocommerce_breadcrumb', 20) ;
17-Ogranicz listę krajów wysyłki
/**
* Dodatkowa Funkcja WooCommerce
* --------------------------
*
* Ogranicz listę krajów wysyłki
*
*/
function woo_override_checkout_fields ($fields ) {
$fields['shipping']['shipping_country'] = array(
'type' = > 'select',
'label' = > __('moja nowa lista krajów','woocommerce'),
'options' = > array ('AU' = > 'Australia')
);
return $ fields;
}
add_filter ('woocommerce_checkout_fields', 'woo_override_checkout_fields');
18-Replace ” Za Darmo!”ciąg produktów
/**
* Dodatkowa Funkcja WooCommerce
* --------------------------
*
* Zastąp " Za Darmo!"przez niestandardowy ciąg
*
*/
function woo_my_custom_free_message () {
powrót " ten produkt jest bezpłatny!";
}
add_filter ('woocommerce_free_price_html', 'woo_my_custom_free_message');
19-Ukryj wszystkie inne metody wysyłki, gdy Darmowa Wysyłka jest dostępna
// Ukryj wszystkie opcje wysyłki, gdy darmowa wysyłka jest dostępna
add_filter ('woocommerce_available_shipping_methods', 'hide_all_shipping_when_free_is_available', 10, 1 );
/**
* Ukryj wszystkie opcje wysyłki, gdy darmowa wysyłka jest dostępna
*
* @ param array $available_methods
*/
function hide_all_shipping_when_free_is_available ($available_methods ) {
if (isset ($available_methods['free_shipping'] ) ) :
// Get free Shipping array into a new array
$freeshipping = array();
$freeshipping = $available_methods ['free_shipping'];
// Opróżnij tablicę $ available_methods
unset ($available_methods );
// Dodaj darmową wysyłkę do $avaialble_methods
$available_methods = array();
$available_methods [] = $ freeshipping;
endif;
return $available_methods;
}
20-sprawdź, czy pole „Stan” kasy nie jest wymagane
/**
* Dodatkowa Funkcja WooCommerce
* --------------------------
*
* Make" state " Pole nie jest wymagane przy kasie
*
*/
add_filter ('woocommerce_billing_fields', 'woo_filter_state_billing', 10, 1 );
add_filter ('woocommerce_shipping_fields', 'woo_filter_state_shipping', 10, 1 );
function woo_filter_state_billing ($address_fields ) {
$address_fields['billing_state'] ['required'] = false;
return $address_fields;
}
function woo_filter_state_shipping ($address_fields) {
$address_fields['shipping_state'] ['required'] = false;
return $address_fields;
}
21-Utwórz kupon programowo
$coupon_code = 'UNIQUECODE'; / / Kod
$kwota = '10'; / / kwota
$discount_type = 'fixed_cart'; // Type: fixed_cart, percent, fixed_product, percent_product
$kupon = array(
'post_title' = > $coupon_code,
'post_content'=>",
'post_status' = > 'publish',
'post_author' = > 1,
'post_type' = > 'shop_coupon'
);
$new_coupon_id = wp_insert_post ($kupon );
// Dodaj meta
update_post_meta ($new_coupon_id, 'discount_type', $discount_type );
update_post_meta ($new_coupon_id, 'coupon_amount', $amount );
update_post_meta ($new_coupon_id, 'individual_use', 'no' );
update_post_meta ($new_coupon_id, 'product_ids', " );
update_post_meta ($new_coupon_id, 'exclude_product_ids', " );
update_post_meta ($new_coupon_id, 'usage_limit', " );
update_post_meta ($new_coupon_id, 'expiry_date', " );
update_post_meta ($new_coupon_id, 'apply_before_tax', 'yes' );
update_post_meta ($new_coupon_id, 'free_shipping', 'no' );
22-Zmień temat wiadomości e-mail
/*
* Filtry tematyczne:
* woocommerce_email_subject_new_order
* woocommerce_email_subject_customer_procesing_order
* woocommerce_email_subject_customer_completed_order
* woocommerce_email_subject_customer_invoice
* woocommerce_email_subject_customer_note
* woocommerce_email_subject_low_stock
* woocommerce_email_subject_no_stock
* woocommerce_email_subject_backorder
* woocommerce_email_subject_customer_new_account
* woocommerce_email_subject_customer_invoice_paid
**/
add_filter ('woocommerce_email_subject_new_order', 'change_admin_email_subject', 1, 2);
function change_admin_email_subject ($subject, $order ) {
global $woocommerce;
$blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);
$subject = sprintf ('[%s] Nowe zamówienie klienta (#%s) z nazwy % s % s', $LOGNAME, $order- > id, $order - >billing_first_name, $order - > billing_last_name );
return $subject;
}
23-Dodaj opłatę niestandardową do koszyka
/**
* Dodatkowa Funkcja WooCommerce
* --------------------------
*
* Dodaj niestandardową opłatę do koszyka automatycznie
*
*/
function woo_add_cart_fee () {
global $woocommerce;
if (is_cart() ) {
$woocommerce->koszyk->add_fee( __('Custom', 'woocommerce'), 5 );
}
}
add_action ('woocommerce_before_cart_table', 'woo_add_cart_fee');
24-Custom dodany do koszyka wiadomość
/**
* Niestandardowe Wiadomości Dodaj Do Koszyka
* Dodaj to do funkcji motywu.plik php
**/
add_filter ('woocommerce_add_to_cart_message', 'custom_add_to_cart_message');
function custom_add_to_cart_message () {
global $woocommerce;
// Output success messages
if (get_option ('woocommerce_cart_redirect_after_add')= = 'yes') :
$return_to = get_permalink(woocommerce_get_page_id('sklep'));
$message = sprintf('<a href="%S" class="button">%s</a> %s', $return_to, __('Continue Shopping →', 'woocommerce'), __('produkt dodany do koszyka.', 'woocommerce'));
else :
$message = sprintf('<a href="%S" class="button">%s</a> %s', get_permalink(woocommerce_get_page_id('cart')), __('View Cart →', 'woocommerce'), __('produkt dodany do Twojego koszyka.', 'woocommerce'));
endif;
return $ message;
}
25-Dodaj metodę płatności do wiadomości e-mail administratora
/**
* Dodatkowa Funkcja WooCommerce
* --------------------------
*
* Dodaj metodę płatności do Admin new order email
*
*/
add_action ('woocommerce_email_after_order_table', 'woo_add_payment_method_to_admin_new_order', 15, 2 );
function woo_add_payment_method_to_admin_new_order ($order, $is_admin_email ) {
if ($is_admin_email) {
echo '<p><strong>metoda płatności:</strong> ' . $order->payment_method_title . "</p>";
}
}
I bum! To jest to! Mam nadzieję, że spodobają ci się te fragmenty. Jeśli masz jakieś sugestie, nie wahaj się zostawić komentarz poniżej!
Nie masz gotowego motywu WooCommerce lub chcesz nowy? Sprawdź nasz Total WordPress theme!