I miei 25 migliori frammenti di WooCommerce per WordPress Parte 2

  1. 1. I miei 25 migliori frammenti di WooCommerce per WordPress
  2. 2. Leggendo al momento: I miei 25 migliori frammenti di WooCommerce per WordPress Parte 2

Qualche giorno fa ho scritto un post in cui ho elencato 25 dei più utili frammenti di WooCommerce che uso e tu eri molte persone a chiedere di più, quindi oggi ho deciso di fornire altri frammenti per WooCommerce! Eccoci qui!


1 – Sostituisci il logo PayPal predefinito di WooCommerce

/ *
* Sostituisci l'icona PayPal predefinita di WooCommerce
* /
funzione paypal_checkout_icon () {
return "https://www.paypalobjects.com/webstatic/mktg/logo-center/logo_betalen_met_paypal_nl.jpg"; // scrivi qui il tuo URL immagine
}
add_filter ('woocommerce_paypal_icon', 'paypal_checkout_icon');

2 – Sostituisci l’immagine segnaposto del prodotto predefinita

/ *
* va nel tema Functions.php o in un plugin personalizzato. Sostituisci il nome file / percorso dell'immagine con il tuo  :) 
*
** /
add_action ('init', 'custom_fix_thumbnail');

funzione custom_fix_thumbnail () {
add_filter ('woocommerce_placeholder_img_src', 'custom_woocommerce_placeholder_img_src');

funzione custom_woocommerce_placeholder_img_src ($ src) {
$ upload_dir = wp_upload_dir ();
$ uploads = untrailingslashit ($ upload_dir ['baseurl']);
$ src = $ uploads. '/2012/07/thumb1.jpg';

restituisce $ src;
}
}

3 – Rimuovere i “Prodotti” dal pangrattato

/ *
* Nascondi "Prodotti" nel pangrattato WooCommerce
* /
funzione woo_custom_filter_breadcrumbs_trail ($ trail) {
foreach ($ trail come $ k => $ v) {
if (strtolower (strip_tags ($ v)) == 'prodotti') {
unset ($ trail [$ k]);
rompere;
}
}

ritorno $ trail;
}

add_filter ('woo_breadcrumbs_trail', 'woo_custom_filter_breadcrumbs_trail', 10);

4 – Carrello vuoto

/ *
* Carrello WooCommerce vuoto
* /
funzione my_empty_cart () {
$ woocommerce globale;
$ Woocommerce-> cart-> empty_cart ();
}
add_action ('init', 'my_empty_cart');

5 – Aggiungi automaticamente il prodotto al carrello in visita

/ *
* Aggiungi articolo al carrello in visita
* /
funzione add_product_to_cart () {
if (! is_admin ()) {
$ woocommerce globale;
$ product_id = 64;
$ found = false;
// controlla se il prodotto è già nel carrello
if (sizeof ($ woocommerce-> cart-> get_cart ())> 0) {
foreach ($ woocommerce-> cart-> get_cart () come $ cart_item_key => $ valori) {
$ _product = $ valori ['dati'];
if ($ _product-> id == $ product_id)
$ found = true;
}
// se il prodotto non viene trovato, aggiungerlo
if (! $ found)
$ woocommerce-> cart-> add_to_cart ($ product_id);
} altro {
// se non ci sono prodotti nel carrello, aggiungilo
$ woocommerce-> cart-> add_to_cart ($ product_id);
}
}
}
add_action ('init', 'add_product_to_cart');

6 – Aggiungi una valuta / simbolo personalizzato

add_filter ('woocommerce_currencies', 'add_my_currency');

funzione add_my_currency ($ valute) {
$ valute ['ABC'] = __ ('Nome valuta', 'woocommerce');
restituire $ valute;
}

add_filter ('woocommerce_currency_symbol', 'add_my_currency_symbol', 10, 2);

funzione add_my_currency_symbol ($ currency_symbol, $ currency) {
switch ($ currency) {
caso "ABC": $ currency_symbol = '$'; rompere;
}
return $ currency_symbol;
}

7 – Modifica il testo del pulsante Aggiungi al carrello

/ **
* Modifica il testo Aggiungi al carrello nelle pagine dei singoli prodotti
* /
funzione woo_custom_cart_button_text () {
return __ ('My Button Text', 'woocommerce');
}
add_filter ('single_add_to_cart_text', 'woo_custom_cart_button_text');



/ **
* Modifica il testo Aggiungi al carrello negli archivi del prodotto
* /
funzione woo_archive_custom_cart_button_text () {
return __ ('My Button Text', 'woocommerce');
}
add_filter ('add_to_cart_text', 'woo_archive_custom_cart_button_text');

8 – Reindirizza l’abbonamento aggiungi al carrello alla pagina di pagamento

/ **
* Reindirizza l'abbonamento aggiungi al carrello alla pagina di pagamento
*
* @param string $ url
* /
funzione custom_add_to_cart_redirect ($ url) {

$ product_id = (int) $ _REQUEST ['aggiungi al carrello'];
if (class_exists ('WC_Subscriptions_Product')) {
if (WC_Subscriptions_Product :: is_subscription ($ product_id)) {
return get_permalink (get_option ('woocommerce_checkout_page_id'));
} else restituisce $ url;
} else restituisce $ url;

}
add_filter ('add_to_cart_redirect', 'custom_add_to_cart_redirect');

Questo frammento richiede il plug-in Abbonamenti.

9 – Reindirizza alla pagina di pagamento dopo aver aggiunto al carrello

/ **
* Reindirizza l'abbonamento aggiungi al carrello alla pagina di pagamento
*
* @param none
* /
funzione add_to_cart_checkout_redirect () {
wp_safe_redirect (get_permalink (get_option ('woocommerce_checkout_page_id')));
morire();
}
add_action ('woocommerce_add_to_cart', 'add_to_cart_checkout_redirect', 11);

10 – CC tutte le email

 / **
* Funzionalità extra di WooCommerce
* --------------------------
*
* Aggiungi un altro destinatario e-mail a tutte le e-mail WooCommerce
*
* /
funzione woo_cc_all_emails () {
ritorna "Ccn: [email protected]". "\ R \ n";
}
add_filter ('woocommerce_email_headers', 'woo_cc_all_emails');

11 – Invia un’e-mail quando un nuovo ordine viene completato con i coupon utilizzati

/ **
* Funzionalità extra di WooCommerce
* --------------------------
*
* Invia un'e-mail ogni volta che un ordine con coupon è completato
* L'email contiene coupon utilizzati durante il processo di pagamento
*
* /
funzione woo_email_order_coupons ($ order_id) {
$ order = new WC_Order ($ order_id);

if ($ order-> get_used_coupons ()) {

$ to = '[email protected]';
$ subject = 'Nuovo ordine completato';
$ headers = 'From: My Name'. "\ R \ n";

$ message = 'Un nuovo ordine è stato completato. \ n';
$ message. = 'ID ordine:'. $ order_id. '\ n';
$ message. = 'Coupon utilizzati: \ n';

foreach ($ order-> get_used_coupons () come $ coupon) {
$ message. = $ coupon. '\ n';
}
@wp_mail ($ a, $ subject, $ message, $ headers);
}
}
add_action ('woocommerce_thankyou', 'woo_email_order_coupons');

12 – Modifica del numero di prodotti correlati

/ **
* Funzionalità extra di WooCommerce
* --------------------------
*
* Modifica il numero di prodotti correlati nella pagina del prodotto
* Imposta il tuo valore per "posts_per_page"
*
* /
funzione woo_related_products_limit () {
prodotto globale $;

$ args = array (
'post_type' => 'product',
'no_found_rows' => 1,
'posts_per_page' => 6,
'ignore_sticky_posts' => 1,
'orderby' => $ orderby,
'post__in' => $ correlati,
'post__not_in' => array ($ product-> id)
);
restituisce $ args;
}
add_filter ('woocommerce_related_products_args', 'woo_related_products_limit');

13 – Escludere i prodotti di una particolare categoria nella pagina del negozio

 / **
* Rimuovere i prodotti dalla pagina del negozio per categoria
*
* /
funzione woo_custom_pre_get_posts_query ($ q) {

if (! $ q-> is_main_query ()) return;
if (! $ q-> is_post_type_archive ()) return;

if (! is_admin () && is_shop ()) {

$ q-> set ('tax_query', array (array (
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => array ('shoes'), // Non visualizzare i prodotti nella categoria scarpe nella pagina del negozio
'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 – Cambia il numero delle colonne del negozio

/ **
* Funzionalità extra di WooCommerce
* --------------------------
*
* Modifica il numero delle colonne del prodotto nelle pagine del negozio
*
* /
funzione woo_product_columns_frontend () {
$ woocommerce globale;

// Valore predefinito utilizzato anche per categorie e sottocategorie
$ colonne = 4;

// Elenco prodotti
if (is_product_category ()):
$ colonne = 4;
finisci se;

//Prodotti correlati
if (is_product ()):
$ colonne = 2;
finisci se;

// Cross Sells
if (is_checkout ()):
$ colonne = 4;
finisci se;

restituisce $ colonne;
}
add_filter ('loop_shop_columns', 'woo_product_columns_frontend');

15 – Disabilita le schede WooCommerce

 / **
* Rimuovere le schede del prodotto
*
* /
funzione woo_remove_product_tab ($ tabs) {

unset ($ tabs ['description']); // Rimuovi la scheda della descrizione
unset ($ tabs ['review']); // Rimuovi la scheda Recensioni
unset ($ tabs ['additional_information']); // Rimuovi la scheda delle informazioni aggiuntive

restituisce $ tab;

}
add_filter ('woocommerce_product_tabs', 'woo_remove_product_tab', 98);

16 – Rimuovere il pangrattato

 / **
* Rimuovi WooCommerce BreadCrumb
*
* /
remove_action ('woocommerce_before_main_content', 'woocommerce_breadcrumb', 20);

17 – Limita l’elenco dei paesi di spedizione

/ **
* Funzionalità extra di WooCommerce
* --------------------------
*
* Limitare l'elenco dei paesi di spedizione
*
* /
funzione woo_override_checkout_fields ($ campi) {

$ fields ['shipping'] ['shipping_country'] = array (
'type' => 'select',
'label' => __ ('My New Country List', 'woocommerce'),
'options' => array ('AU' => 'Australia')
);

restituisce $ campi;
}
add_filter ('woocommerce_checkout_fields', 'woo_override_checkout_fields');

18 – Sostituisci “Gratis!” stringa di prodotto

/ **
* Funzionalità extra di WooCommerce
* --------------------------
*
* Sostituisci "Gratis!" da una stringa personalizzata
*
* /
funzione woo_my_custom_free_message () {
return "Questo prodotto è GRATUITO!";
}

add_filter ('woocommerce_free_price_html', 'woo_my_custom_free_message');

19 – Nascondi TUTTI gli altri metodi di spedizione quando è disponibile la spedizione gratuita

// Nascondi TUTTE le opzioni di spedizione quando è disponibile la spedizione gratuita
add_filter ('woocommerce_available_shipping_methods', 'hide_all_shipping_when_free_is_available', 10, 1);

/ **
* Nascondi TUTTE le opzioni di spedizione quando è disponibile la spedizione gratuita
*
* @param array $ available_methods
* /
funzione hide_all_shipping_when_free_is_available ($ available_methods) {

if (isset ($ available_methods ['free_shipping'])):

// Ottieni un array di spedizione gratuito in un nuovo array
$ freeshipping = array ();
$ freeshipping = $ available_methods ['free_shipping'];

// Svuota l'array $ available_methods
unset ($ available_methods);

// Aggiungi la spedizione gratuita in $ avaialble_methods
$ available_methods = array ();
$ available_methods [] = $ freeshipping;

finisci se;

return $ available_methods;
}

20 – Rendi il campo “stato” di checkout non obbligatorio

/ **
* Funzionalità extra di WooCommerce
* --------------------------
*
* Rendi il campo "stato" non richiesto al momento del pagamento
*
* /

add_filter ('woocommerce_billing_fields', 'woo_filter_state_billing', 10, 1);
add_filter ('woocommerce_shipping_fields', 'woo_filter_state_shipping', 10, 1);

funzione woo_filter_state_billing ($ address_fields) {
$ address_fields ['billing_state'] ['richiesto'] = false;
restituisce $ address_fields;
}

funzione woo_filter_state_shipping ($ address_fields) {
$ address_fields ['shipping_state'] ['required'] = false;
restituisce $ address_fields;
}

21 – Crea un coupon programmaticamente

$ coupon_code = 'UNIQUECODE'; // Codice
$ importo = '10'; // Quantità
$ discount_type = 'fixed_cart'; // Tipo: fixed_cart, percent, fixed_product, percent_product

$ coupon = array (
'post_title' => $ coupon_code,
'post_content' => '',
'post_status' => 'publishing',
'post_author' => 1,
'post_type' => 'shop_coupon'
);

$ new_coupon_id = wp_insert_post ($ coupon);

// Aggiungi 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, 'use_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 – Modifica le righe dell’oggetto dell’e-mail

/ *
* Filtri soggetto:
* 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);

funzione change_admin_email_subject ($ subject, $ order) {
$ woocommerce globale;

$ blogname = wp_specialchars_decode (get_option ('blogname'), ENT_QUOTES);

$ subject = sprintf ('[% s] Nuovo ordine cliente (#% s) da Nome% s% s', $ blogname, $ order-> id, $ order-> billing_first_name, $ order-> billing_last_name);

restituisce $ subject;
}

23 – Aggiungi tariffa personalizzata al carrello

/ **
* Funzionalità extra di WooCommerce
* --------------------------
*
* Aggiungi tariffa personalizzata al carrello automaticamente
*
* /
funzione woo_add_cart_fee () {

$ woocommerce globale;

if (is_cart ()) {
$ woocommerce-> cart-> add_fee (__ ('Custom', 'woocommerce'), 5);
}

}
add_action ('woocommerce_before_cart_table', 'woo_add_cart_fee');

24 – Messaggio personalizzato aggiunto al carrello

/ **
* Messaggi personalizzati Aggiungi al carrello
* Aggiungi questo al tuo file Functions.php tema
** /
add_filter ('woocommerce_add_to_cart_message', 'custom_add_to_cart_message');
funzione custom_add_to_cart_message () {
$ woocommerce globale;

// Invia messaggi di successo
if (get_option ('woocommerce_cart_redirect_after_add') == 'yes'):

$ return_to = get_permalink (woocommerce_get_page_id ('shop'));

$ message = sprintf ('%S % s ', $ return_to, __ (' Continua gli acquisti → ',' woocommerce '), __ (' Prodotto aggiunto correttamente al carrello. ',' woocommerce '));

altro :

$ message = sprintf ('%S % s ', get_permalink (woocommerce_get_page_id (' cart ')), __ (' Visualizza carrello → ',' woocommerce '), __ (' Prodotto aggiunto correttamente al carrello. ',' woocommerce '));

finisci se;

restituisce $ message;
}

25 – Aggiungi metodo di pagamento all’e-mail di amministrazione

/ **
* Funzionalità extra di WooCommerce
* --------------------------
*
* Aggiungi metodo di pagamento per amministrare l'e-mail del nuovo ordine
*
* /
add_action ('woocommerce_email_after_order_table', 'woo_add_payment_method_to_admin_new_order', 15, 2);

funzione woo_add_payment_method_to_admin_new_order ($ order, $ is_admin_email) {
if ($ is_admin_email) {
eco '

Metodo di pagamento: '. $ order-> payment_method_title. '

'; } }

E boom! Questo è tutto! Spero che ti piacciano questi frammenti. Se hai suggerimenti, non esitare a lasciare un commento qui sotto!


Non hai un tema pronto per WooCommerce o ne vuoi uno nuovo? Assicurati di controllare il nostro tema Total WordPress!

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map