Moje 25 najboljših izrezkov WooCommerce za WordPress

  1. 1. Trenutno bere: Moje 25 najboljših izrezkov WooCommerce za WordPress
  2. 2. Moje 25 najboljših izrezkov WooCommerce za WordPress, 2. del

Časi letijo… minilo je 6 mesecev, odkar sem začel delati za WooThemes kot tehnično podporni tehnik WooCommerce. V teh 6 mesecih sem se veliko naučil na WooCommerce in veliko sem šifriral (beri veliko!) odrezkov, povezanih z WooCommerce. Pravzaprav je WooCommerce resnično močno orodje in ga je enostavno razširiti. Ima veliko kavljev, ki jih je mogoče uporabiti za skoraj vse, zato je WooCommerce tako dober. Tu je seznam odrezkov, ki sem jih napisal ali prilagodil v preteklih mesecih; vsi ti odrezki morajo biti prilepljeni v datoteko function.php znotraj mape teme:


1 – V e-poštni naslov WooCommerce Admin dodajte način plačila

dodajanje ('woocommerce_email_after_order_table', 'add_payment_method_to_admin_new_order', 15, 2);

funkcija add_payment_method_to_admin_new_order ($ order, $ is_admin_email) {
če ($ is_admin_email) {
odmev '

Način plačila: '. $ order-> Payment_method_title. '

'; } }

2 – Predprodaja izdelkov na stran / vrstico

odstranjevanje („woocommerce_after_single_product_summary“, „woocommerce_upsell_display“, 15);
dodajanje ('woocommerce_after_single_product_summary', 'woocommerce_output_upsells', 15);

if (! function_exists ('woocommerce_output_upsells')) {
funkcija woocommerce_output_upsells () {
woocommerce_upsell_display (3,3); // Prikažite 3 izdelke v vrsticah po 3
}
}

3 – Odstranite kategorije izdelkov s strani trgovine

dodajanje ('pre_get_posts', 'custom_pre_get_posts_query');

funkcija custom_pre_get_posts_query ($ q) {

če se (! $ q-> is_main_query ()) vrne;
če se (! $ q-> is_post_type_archive ()) vrne;

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

$ q-> set ('tax_query', matrika (matrika (
'taxonomy' => 'product_cat',
'polje' => 'slug',
'terms' => array ('barva', 'okus', 'začimbe', 'vanilija'), // Ne prikazuj izdelkov v teh kategorijah na strani trgovine
'operator' => 'NOT IN'
)));

}

odstranjevanje ('pre_get_posts', 'custom_pre_get_posts_query');

}

4 – Hitro prevedite kateri koli niz

add_filter ('gettext', 'translate_text');
add_filter ('ngettext', 'translate_text');

funkcija translate_text (prevedeno v $) {
$ translation = str_ireplace ('Izberi in možnost', 'Izberi', $ prevedeno);
return $ prevedeno;
}

5 – Iz pripomočka kategorije WooCommerce izključite kategorijo

add_filter ('woocommerce_product_categories_widget_args', 'woo_product_cat_widget_args');

funkcija woo_product_cat_widget_args ($ cat_args) {

$ cat_args ['izključi'] = array ('16 ');

vrniti $ cat_args;
}

6 – V različico izdelka dodajte polje po meri

// Prikaz polja
dodajanje ('woocommerce_product_after_variable_attributes', 'variable_fields', 10, 2);
// JS za dodajanje polj za nove različice
dodajanje ('woocommerce_product_after_variable_attributes_js', 'variable_fields_js');
// Shrani variacijska polja
dodajanje ('woocommerce_process_product_meta_variable', 'variable_fields_process', 10, 1);

funkcija variabilna polja ($ zanka, $ variation_data) {?>


7 - Nadomestite "Brez zaloge" z "prodano"

add_filter ('woocommerce_get_available', 'razpoložljivost_filter_func');

funkcija razpoložljivost_filter_func ($ razpoložljivost)
{
$ dostupnost ['razpoložljivost'] = str_ireplace ('Ni na zalogi', 'Prodano', $ razpoložljivost ['razpoložljivost']);
vrniti $ razpoložljivost;
}

8 - Prikažite "izdelek je že v košarici" namesto gumba "dodaj v košarico"

/ **
* Spremenite besedilo za dodajanje v košarico na posameznih straneh izdelkov
* /
add_filter ('woocommerce_product_single_add_to_cart_text', 'woo_custom_cart_button_text');

funkcija woo_custom_cart_button_text () {

globalna $ woocommerce;

foreach ($ woocommerce-> cart-> get_cart () kot $ cart_item_key => $ vrednosti) {
$ _product = $ vrednosti ['podatki'];

if (get_the_ID () == $ _product-> id) {
return __ („Že v košarici - Dodaj spet?“, „woocommerce“);
}
}

return __ ('Dodaj v košarico', 'woocommerce');
}

/ **
* Spremenite besedilo za dodajanje v košarico v arhivih izdelkov
* /
add_filter ('add_to_cart_text', 'woo_archive_custom_cart_button_text');

funkcija woo_archive_custom_cart_button_text () {

globalna $ woocommerce;

foreach ($ woocommerce-> cart-> get_cart () kot $ cart_item_key => $ vrednosti) {
$ _product = $ vrednosti ['podatki'];

if (get_the_ID () == $ _product-> id) {
return __ ('Že v vozičku', 'woocommerce');
}
}

return __ ('Dodaj v košarico', 'woocommerce');
}

9 - Skrivanje števila izdelkov v pogledu kategorije

add_filter ('woocommerce_subcategory_count_html', 'woo_remove_category_products_count');

funkcija woo_remove_category_products_count () {
vrnitev;
}

10 - Obvezna polja za odjavo računa

add_filter ('woocommerce_checkout_fields', 'woo_filter_account_checkout_fields');

funkcija woo_filter_account_checkout_fields ($ polja) {
$ polja ['račun'] ['account_username'] ['obvezno'] = res;
$ polja ['račun'] ['account_password'] ['obvezno'] = res;
$ polja ['račun'] ['account_password-2'] ['obvezno'] = res;

vrne $ polja;
}

11 - Preimenujte zavihek izdelka

add_filter ('woocommerce_product_tabs', 'woo_rename_tab', 98);
funkcija woo_rename_tab ($ zavihki) {

$ tabs ['description'] ['title'] = 'Več informacij';

vrni $ zavihke;
}

12 - Naštejte kategorije izdelkov WooCommerce

$ args = matrika (
'število' => $ število,
'orderby' => $ orderby,
'naročilo' => $ naročilo,
'hid_empty' => $ hid_empty,
'vključuje' => $ ids
);

$ product_categories = get_terms ('product_cat', $ args);

$ count = štetje ($ product_categories);
če (štetje $> 0) {
odmev "";
}

13 - Zamenjajte naslov strani trgovine

add_filter ('woocommerce_page_title', 'woo_shop_page_title');

funkcija woo_shop_page_title ($ page_title) {

if ('Trgovina' == $ page_title) {
vrniti "Moj novi naslov";
}
}

14 - Spremenite naslov gradnika

/ *
* Spremenite naslov gradnika
* /
add_filter ('widget_title', 'woo_widget_title', 10, 3);

funkcija woo_widget_title ($ title, $ instance, $ id_base) {

if ('onsale' == $ id_base) {
vrniti "Moj novi naslov";
}
}

15 - Odstranite privzete nastavitve WooCommerce

add_filter ('woocommerce_catalog_settings', 'woo_remove_catalog_options');

funkcija woo_remove_catalog_options ($ katalog) {

unset ($ katalog [23]); // Obrežite ničle (ne)
unset ($ katalog [22]); // 2 decimalk
unset ($ katalog [21]); // decimalni sep (.)
unset ($ katalog [20]); // tisoč sep (,)
unset ($ katalog [19]); // valutna pozicija (levo)
unset ($ katalog [18]); // valutna pozicija (levo)
unset ($ katalog [5]); // ajax dodaj v košarico (ne)

vrni $ katalog;
}

16 - Spremenite "od" e-poštni naslov

funkcija woo_custom_wp_mail_from () {
globalna $ woocommerce;
vrne html_entity_decode ('[email protected]');
}
add_filter ('wp_mail_from', 'woo_custom_wp_mail_from', 99);

17 - Dešifrirajte ime iz e-pošte v WooCommerce

funkcija woo_custom_wp_mail_from_name () {
globalna $ woocommerce;
vrne html_entity_decode (get_option ('woocommerce_email_from_name'));
}
add_filter ('wp_mail_from_name', 'woo_custom_wp_mail_from_name', 99);

funkcija woo_custom_wp_mail_from () {
globalna $ woocommerce;
vrne html_entity_decode (get_option ('woocommerce_email_from'));
}
add_filter ('wp_mail_from_name', 'woo_custom_wp_mail_from_name', 99);

18 - ID-ji za povratne izdelke

funkcija woo_get_featured_product_ids () {
// Naloži iz predpomnilnika
$ featured_product_ids = get_transient ('wc_featured_products');

// Najden je veljaven predpomnilnik
if (napačno! == $ featured_product_ids)
vrnite $ featured_product_ids;

$ featured = get_posts (matrika (
'post_type' => matrika ('izdelek', 'product_variation'),
'posts_per_page' => -1,
'post_status' => 'objavi',
'meta_query' => matrika (
matrika (
'tipka' => '_ vidljivost',
'value' => matrika ('katalog', 'vidno'),
'primerjaj' => 'IN'
),
matrika (
'tipka' => '_ponovno',
'vrednost' => 'da'
)
),
'polja' => 'id => nadrejeni'
));

$ product_ids = array_keys ($ featured);
$ parent_ids = array_values ​​($ featured);
$ featured_product_ids = array_unique (array_merge ($ product_ids, $ parent_ids));

set_transient ('wc_featured_products', $ featured_product_ids);

vrnite $ featured_product_ids;
}

19 - Dodajte polje po meri za urejanje strani z naslovom

// dodaj polja za urejanje strani z naslovi
funkcija woo_add_edit_address_fields ($ polja) {

$ new_fields = matrika (
'date_of_birth' => matrika (
'label' => __ ('Datum rojstva', 'woocommerce'),
'obvezno' => napačno,
'class' => array ('obrazec-vrstica'),
),
);

$ polja = array_merge ($ polja, $ new_fields);

vrne $ polja;

}

add_filter ('woocommerce_default_address_fields', 'woo_add_edit_address_fields');

20 - Prikažite kratko kodo kataloga izdelkov

funkcija woocommerce_sale_products ($ atts) {

globalni $ woocommerce_loop;

izvleček (shortcode_atts (matrika (
'per_page' => '12',
'stolpci' => '4',
'orderby' => 'datum',
'naročilo' => 'desc'
), $ atts));

$ woocommerce_loop ['stolpci'] = $ stolpci;

$ args = matrika (
'post_type' => 'izdelek',
'post_status' => 'objavi',
'ignore_sticky_posts' => 1,
'posts_per_page' => $ per_page,
'orderby' => $ orderby,
'naročilo' => $ naročilo,
'meta_query' => matrika (
matrika (
'tipka' => '_ vidljivost',
'value' => matrika ('katalog', 'vidno'),
'primerjaj' => 'IN'
),
matrika (
'key' => '_sale_price',
'vrednost' => 0,
'primerjaj' => '>',
'type' => 'NUMERIČNO'
)
)
);
query_posts ($ args);
ob_start ();
woocommerce_get_template_part ('zanka', 'trgovina');
wp_reset_query ();

vrni ob_get_clean ();
}

add_shortcode ('sale_products', 'woocommerce_sale_products');

21 - Imeti izdelke na prodaj

funkcija woo_have_onsale_products () {

globalna $ woocommerce;

// Pridobite izdelke v prodaji
$ product_ids_on_sale = array_filter (woocommerce_get_product_ids_on_sale ());

if (! prazno ($ product_ids_on_sale)) {
vrnitev resnična;
} else {
vrniti napačno;
}

}

// Primer:
če (woo_have_onsale_products ()) {
odmev "imajo prodajne izdelke";
} else {
odmev „brez prodajnega izdelka“;
}

22 - Nastavite minimalni znesek naročila

dodajanje ('woocommerce_checkout_process', 'wc_minimum_order_amount');
funkcija wc_minimum_order_amount () {
globalna $ woocommerce;
najmanj $ 50;
if ($ woocommerce-> cart-> get_cart_total (); < $minimum ) {
$woocommerce->add_error (sprintf ('Za oddajo naročila morate imeti naročilo z najmanj% s.', najmanj $));
}
}

23 - Naročite po ceni, datumu ali naslovu na strani trgovine

add_filter ('woocommerce_default_catalog_orderby', 'custom_default_catalog_orderby');

funkcija custom_default_catalog_orderby () {
vrniti „datum“; // Lahko uporablja tudi naslov in ceno
}

24 - Preusmeri dodaj v košarico na stran za nakup

add_filter ('add_to_cart_redirect', 'redirect_to_checkout');

funkcija redirect_to_checkout () {
globalna $ woocommerce;
$ checkout_url = $ woocommerce-> vozi-> get_checkout_url ();
vrniti $ checkout_url;
}

25 - Ko je naročilo zaključeno, dodajte prejemnika e-pošte

funkcija woo_extra_email_recipient ($ prejemnik, $ predmet) {
$ prejemnik = $ prejemnik. ', vaš@email.com';
vrne prejemnika $;
}
add_filter ('woocommerce_email_recipient_customer_completed_order', 'woo_extra_email_recipient', 10, 2);

In to je to! Upam, da boste našli te odrezke uporabne, vsi so bili preizkušeni in delujejo v redu, vendar če imate težave, mi sporočite razdelek s komentarji. Zabavaj se! ��

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