Moje 25 najlepších útržkov WooCommerce pre WordPress, časť 2

  1. 1. Mojich 25 najlepších útržkov WooCommerce pre WordPress
  2. 2. Aktuálne čítanie: Moje 25 najlepších útržkov WooCommerce pre WordPress, časť 2

Pred niekoľkými dňami som napísal príspevok, v ktorom som uviedol 25 najužitočnejších útržkov WooCommerce, ktoré používam, a vy ste boli mnohí, ktorí požiadali o viac, takže som sa dnes rozhodol poskytnúť ďalšie úryvky pre WooCommerce! Tu ideme!


1 – Nahraďte predvolené logo PayPal spoločnosti WooCommerce

/ *
* Nahraďte predvolenú ikonu WooCommerce PayPal
* /
function paypal_checkout_icon () {
návrat 'https://www.paypalobjects.com/webstatic/mktg/logo-center/logo_betalen_met_paypal_nl.jpg'; // sem napíšte svoju vlastnú adresu URL obrázka
}
add_filter ('woocommerce_paypal_icon', 'paypal_checkout_icon');

2 – Nahraďte predvolený zástupný symbol produktu

/ *
* ide v téme function.php alebo vo vlastnom doplnku. Nahraďte názov súboru / cestu obrázka vlastným  :) 
*
** /
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 – Odstráňte „Výrobky“ zo strúhanky

/ *
* Skryť „Produkty“ v strúhanke WooCommerce
* /
function woo_custom_filter_breadcrumbs_trail ($ trail) {
foreach ($ trail as $ k => $ v) {
if (strtolower (strip_tags ($ v)) == 'products') {
unset ($ trail [$ k]);
prestávka;
}
}

návrat $ trail;
}

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

4 – Prázdny košík

/ *
* Prázdny košík WooCommerce
* /
function my_empty_cart () {
globálny $ woocommerce;
$ Woocommerce-> cart-> empty_cart ();
}
add_action ('init', 'my_empty_cart');

5 – Automaticky pridá produkt do košíka pri návšteve

/ *
* Pridať položku do košíka pri návšteve
* /
function add_product_to_cart () {
if (! is_admin ()) {
globálny $ woocommerce;
$ product_id = 64;
$ found = false;
// skontrolujte, či je produkt už v košíku
if (veľkosť ($ woocommerce-> cart-> get_cart ())> 0) {
foreach ($ woocommerce-> cart-> get_cart () ako $ cart_item_key => $ value) {
$ _product = $ value ['data'];
ak ($ ​​_product-> id == $ product_id)
$ found = true;
}
// ak produkt nebol nájdený, pridajte ho
ak (! $ found)
$ woocommerce-> cart-> add_to_cart ($ product_id);
} else {
// Ak v košíku nie sú žiadne produkty, pridajte ich
$ woocommerce-> cart-> add_to_cart ($ product_id);
}
}
}
add_action ('init', 'add_product_to_cart');

6 – Pridajte vlastnú menu / symbol

add_filter ('woocommerce_currencies', 'add_my_currency');

add_my_currency ($ meny) {
$ meny ['ABC'] = __ ('Názov meny', 'woocommerce');
návratnosť meny $;
}

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

function add_my_currency_symbol ($ currency_symbol, $ currency) {
prepínač (mena $) {
prípad 'ABC': $ currency_symbol = '$'; prestávka;
}
return $ currency_symbol;
}

7 – Zmena textu tlačidla Pridať do košíka

/ **
* Zmeňte text pridania do košíka na jednotlivých stránkach produktu
* /
function woo_custom_cart_button_text () {
return __ ('My Button Text', 'woocommerce');
}
add_filter ('single_add_to_cart_text', 'woo_custom_cart_button_text');



/ **
* Zmeňte text pridania do košíka v archívoch produktu
* /
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 – Presmerovanie predplatného pridať do košíka na stránku pokladne

/ **
* Presmerovanie predplatného pridať do košíka na stránku pokladne
*
* @param reťazec $ url
* /
function custom_add_to_cart_redirect ($ url) {

$ product_id = (int) $ _REQUEST ['add-to-cart'];
if (class_exists ('WC_Subscriptions_Product'))) {
if (WC_Subscriptions_Product :: is_subscription ($ product_id)) {
return get_permalink (get_option ('woocommerce_checkout_page_id'));
} else vrátiť $ url;
} else vrátiť $ url;

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

Tento úryvok vyžaduje doplnok Odbery.

9 – Presmerovať na stránku pokladne po pridaní do košíka

/ **
* Presmerovanie predplatného pridať do košíka na stránku pokladne
*
* @param žiadny
* /
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 všetky e-maily

 / **
* Extra funkcia WooCommerce
* --------------------------
*
* Pridajte ďalšieho e-mailového adresáta do všetkých e-mailov WooCommerce
*
* /
function woo_cc_all_emails () {
vrátite 'Bcc: [email protected]'. "\ R \ n";
}
add_filter ('woocommerce_email_headers', 'woo_cc_all_emails');

11 – Po dokončení novej objednávky s použitými kupónmi pošlite e-mail

/ **
* Extra funkcia WooCommerce
* --------------------------
*
* Poslať e-mail zakaždým, keď je objednávka s kupónom dokončená
* E-mail obsahuje kupóny použité počas procesu platby
*
* /
function woo_email_order_coupons ($ order_id) {
$ order = new WC_Order ($ order_id);

if ($ order-> get_used_coupons ()) {

$ to = '[email protected]';
$ subject = 'Nová objednávka dokončená';
$ headers = 'Od: Moje meno'. "\ R \ n";

$ message = 'Nová objednávka bola dokončená. \ n';
$ message. = 'ID objednávky:'. $ order_id. '\ n';
$ message. = 'Použité kupóny: \ n';

foreach ($ order-> get_used_coupons () ako $ kupon) {
$ message. = $ kupón. '\ n';
}
@wp_mail ($ to, $ subject, $ message, $ headers);
}
}
add_action ('woocommerce_thankyou', 'woo_email_order_coupons');

12 – Zmena čísla súvisiacich produktov

/ **
* Extra funkcia WooCommerce
* --------------------------
*
* Zmena počtu súvisiacich produktov na stránke produktu
* Nastavte vlastnú hodnotu pre 'posts_per_page'
*
* /
function woo_related_products_limit () {
globálny produkt $;

$ args = array (
'post_type' => 'product',
'no_found_rows' => 1,
'posts_per_page' => 6,
'ignorehlasy_posts' => 1,
'orderby' => $ orderby,
'post__in' => $ related,
'post__not_in' => pole ($ product-> id)
);
návrat $ args;
}
add_filter ('woocommerce_related_products_args', 'woo_related_products_limit');

13 – Vylúčiť výrobky z určitej kategórie na stránke obchodu

 / **
* Odstráňte produkty zo stránky obchodu podľa kategórie
*
* /
funkcia 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', pole (pole (
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => array ('shoes') // // Nezobrazovať produkty v kategórii topánok na stránke obchodu
'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 – Zmena čísla stĺpcov obchodu

/ **
* Extra funkcia WooCommerce
* --------------------------
*
* Zmena počtu stĺpcov produktu na stránkach obchodu
*
* /
function woo_product_columns_frontend () {
globálny $ woocommerce;

// Predvolená hodnota sa používa aj pre kategórie a podkategórie
$ column = 4;

// Zoznam produktov
if (is_product_category ()):
$ column = 4;
koniec Ak;

//Súvisiace produkty
if (is_product ()):
$ column = 2;
koniec Ak;

// Cross Sells
if (is_checkout ()):
$ column = 4;
koniec Ak;

návratové stĺpce $;
}
add_filter ('loop_shop_columns', 'woo_product_columns_frontend');

15 – Vypnite karty WooCommerce

 / **
* Odstráňte karty produktu
*
* /
function woo_remove_product_tab ($ tabs) {

unset ($ tabs ['description']); // Odstráňte záložku popisu
unset ($ tabs ['reviews']); // Odstráňte kartu Recenzie
unset ($ tabs ['extra_information'])); // Odstráňte kartu dodatočných informácií

návrat karty $;

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

16 – Odstráňte strúhanku

 / **
* Odstráňte WooCommerce BreadCrumb
*
* /
remove_action ('woocommerce_before_main_content', 'woocommerce_breadcrumb', 20);

17 – Obmedziť zoznam krajín lodnej dopravy

/ **
* Extra funkcia WooCommerce
* --------------------------
*
* Obmedziť zoznam krajín lodnej dopravy
*
* /
function woo_override_checkout_fields ($ fields) {

$ fields ['shipping'] ['shipping_country'] = array (
'type' => 'select',
'label' => __ ('Môj nový zoznam krajín', 'woocommerce'),
'options' => array ('AU' => 'Australia')
);

návratové polia $;
}
add_filter ('woocommerce_checkout_fields', 'woo_override_checkout_fields');

18 – Nahraďte „zadarmo!“ produktový reťazec

/ **
* Extra funkcia WooCommerce
* --------------------------
*
* Nahraďte „zadarmo!“. vlastným reťazcom
*
* /
function woo_my_custom_free_message () {
návrat „Tento produkt je ZADARMO!“;
}

add_filter ('woocommerce_free_price_html', 'woo_my_custom_free_message');

19 – Ak sú k dispozícii poštovné zadarmo, skryte VŠETKY ďalšie spôsoby doručenia

// Skryť VŠETKY možnosti dopravy, keď je k dispozícii preprava zadarmo
add_filter ('woocommerce_available_shipping_methods', 'hide_all_shipping_when_free_is_available', 10, 1);

/ **
* Skryť VŠETKY možnosti dopravy, keď je k dispozícii preprava zdarma
*
* @paramové pole $ available_methods
* /
function hide_all_shipping_when_free_is_available ($ available_methods) {

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

// Získajte pole pre prepravu zadarmo do nového poľa
$ freeshipping = array ();
$ freeshipping = $ available_methods ['free_shipping'];

// Vyprázdnite pole $ available_methods
unset ($ available_methods);

// Pridajte bezplatnú dopravu späť do $ avaialble_methods
$ available_methods = array ();
$ available_methods [] = $ freeshipping;

koniec Ak;

return $ available_methods;
}

20 – Zaškrtnite políčko „štát“ pre pokladňu

/ **
* Extra funkcia WooCommerce
* --------------------------
*
* Pri pokladni označte pole „štát“ ako nevyžadujúce
*
* /

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 – Programovo vytvorte kupón

$ coupon_code = 'UNIQUECODE'; // Kód
$ amount = '10'; // Suma
$ dis_type = 'fixed_cart'; // Typ: fixed_cart, percent, fixed_product, percent_product

$ kupon = array (
'post_title' => $ kupon_code,
'post_content' => '',
'post_status' => 'publikovať',
'post_author' => 1,
'post_type' => 'shop_coupon'
);

$ new_coupon_id = wp_insert_post ($ kupon);

// Pridať meta
update_post_meta ($ new_coupon_id, 'diskont_typ', $ diskont_typ);
update_post_meta ($ new_coupon_id, 'coupon_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, 'exp_date', '');
update_post_meta ($ new_coupon_id, 'apply_before_tax', 'yes');
update_post_meta ($ new_coupon_id, 'free_shipping', 'no');

22 – Zmena riadkov predmetu e-mailu

/ *
* Filtre predmetov:
* 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) {
globálny $ woocommerce;

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

$ subject = sprintf ('[% s] Nová zákaznícka objednávka (#% s) od mena% s% s', $ blogname, $ order-> id, $ order-> billing_first_name, $ order-> billing_last_name);

návrat $ predmet;
}

23 – Pridanie vlastného poplatku do košíka

/ **
* Extra funkcia WooCommerce
* --------------------------
*
* Pridať vlastný poplatok do košíka automaticky
*
* /
function woo_add_cart_fee () {

globálny $ woocommerce;

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

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

24 – Vlastné pridané do správy košíka

/ **
* Vlastné správy do košíka
* Pridajte tento súbor do súboru theme features.php
** /
add_filter ('woocommerce_add_to_cart_message', 'custom_add_to_cart_message');
function custom_add_to_cart_message () {
globálny $ woocommerce;

// Výstupné správy o úspechu
if (get_option ('woocommerce_cart_redirect_after_add') == 'yes'):

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

$ message = sprintf ('% s % s ', $ return_to, __ (' Pokračovať v nákupe → ',' woocommerce '), __ (' Produkt bol úspešne pridaný do košíka. ',' woocommerce '));

inak:

$ message = sprintf ('% s % s ', get_permalink (woocommerce_get_page_id (' cart ')), __ (' Zobraziť košík → ',' woocommerce '), __ (' Produkt bol úspešne pridaný do košíka. ',' woocommerce '));

koniec Ak;

vrátiť $ správu;
}

25 – Pridajte spôsob platby do e-mailovej adresy správcu

/ **
* Extra funkcia WooCommerce
* --------------------------
*
* Pridajte spôsob platby na správu nového e-mailu s objednávkou
*
* /
add_action ('woocommerce_email_after_order_table', 'woo_add_payment_method_to_admin_new_order', 15, 2);

funkcia woo_add_payment_method_to_admin_new_order ($ order, $ is_admin_email) {
if ($ is_admin_email) {
ozvena

Spôsob platby: '. $ order-> payment_method_title. '

,; } }

A rozmach! To je všetko! Dúfam, že sa vám budú tieto úryvky páčiť. Ak máte nejaké návrhy, neváhajte a zanechajte komentár nižšie!


Nemáte tému pripravenú pre WooCommerce alebo nechcete novú? Nezabudnite si prečítať našu tému 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