Moje 25 najboljih isječaka iz WooCommercea za WordPress

  1. 1. Trenutno čitam: Moje 25 najboljih isječaka iz WooCommercea za WordPress
  2. 2. Moje 25 najboljih isječaka iz WooCommercea za WordPress, 2. dio

Vrijeme leti … Prošlo je 6 mjeseci otkako sam počeo raditi za WooThemes kao tehničar za podršku za puno radno vrijeme za WooCommerce. Tijekom tih 6 mjeseci naučio sam puno o WooCommerceu i puno sam kodirao (čitaj) puno!) isječke povezane s WooCommerce. Zapravo, WooCommerce je zaista moćan alat i lako se proširiv. Ima mnogo kuka koje se mogu koristiti za gotovo sve, a to je ono što WooCommerce čini tako dobrim. Ovdje je popis isječaka koje sam napisao ili prilagodio tijekom posljednjih mjeseci; svi ovi isječci moraju biti zalijepljeni u datoteku function.php unutar mape teme:


1 – Dodajte vrstu plaćanja WooCommerce Admin e-pošti

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

funkcija add_payment_method_to_admin_new_order ($ nalog, $ is_admin_email) {
ako je ($ is_admin_email) {
jeka '

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

„; } }

2 – Unaprijed prodaje proizvoda po stranici / po retku

ukloniti prijenos ('woocommerce_after_single_product_summary', 'woocommerce_upsell_display', 15);
dodavanje ('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 proizvoda u redovima od 3
}
}

3 – Uklonite kategorije proizvoda sa stranice trgovine

dodavanje ('pre_get_posts', 'custom_pre_get_posts_query');

funkcija custom_pre_get_posts_query ($ q) {

ako se (! $ q-> is_main_query ()) vrati;
ako se (! $ q-> is_post_type_archive ()) vrati;

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

$ q-> set ('tax_query', niz (niz) (
'taksonomija' => 'product_cat',
'polje' => 'slug',
'terms' => niz ('boja', 'okus', 'začini', 'vanilija'), // Ne prikaži proizvode u tim kategorijama na stranici trgovine
'operator' => 'NOT IN'
)));

}

uklanjanje prijenosa ('pre_get_posts', 'custom_pre_get_posts_query');

}

4 – Brzo prevedi bilo koji niz

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

funkcija translate_text ($ prevedeno) {
$ translation = str_ireplace ('Odaberite i opciju', 'Odaberi', $ prevedeno);
return $ prevedeno;
}

5 – Izuzmite kategoriju iz widgeta kategorije WooCommerce

add_filter ('woocommerce_product_categories_widget_args', 'woo_product_cat_widget_args');

funkcija woo_product_cat_widget_args ($ cat_args) {

$ cat_args ['izuzeti'] = niz ('16 ');

vratiti $ cat_args;
}

6 – Dodajte prilagođeno polje varijaciji proizvoda

// Prikaži polja
dodavanje ('woocommerce_product_after_variable_attributes', 'variable_fields', 10, 2);
// JS za dodavanje polja za nove varijacije
dodavanje ('woocommerce_product_after_variable_attributes_js', 'varijabla_fields_js');
// Spremi varijacijska polja
dodavanje ('woocommerce_process_product_meta_variable', 'variable_fields_process', 10, 1);

funkcija varijabilnih polja ($ petlja, $ varijacija_doda) {?>


7 - Zamijenite "Nema na skladištu" s "prodano"

add_filter ('woocommerce_get_available', 'dostupnost_filter_func');

funkcija dostupnost_filter_func ($ dostupnost)
{
$ dostupnost ['dostupnost'] = str_ireplace ('Nema na skladištu', 'Prodano', $ dostupnost ['dostupnost']);
vratiti $ dostupnost;
}

8 - Prikažite "proizvod već u košarici" umjesto gumba "dodaj u košaricu"

/ **
* Promijenite tekst dodavanja u košaricu na pojedinim stranicama proizvoda
* /
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 () kao $ cart_item_key => $ vrijednosti) {
$ _product = $ values ​​['podaci'];

if (get_the_ID () == $ _product-> id) {
return __ ('Već u košaricu - Dodaj ponovo?', 'woocommerce');
}
}

povratak __ ('Dodaj u košaricu', 'woocommerce');
}

/ **
* Promjena teksta dodavanja u košaricu u arhivima proizvoda
* /
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 () kao $ cart_item_key => $ vrijednosti) {
$ _product = $ values ​​['podaci'];

if (get_the_ID () == $ _product-> id) {
return __ ('Već u košarici', 'woocommerce');
}
}

povratak __ ('Dodaj u košaricu', 'woocommerce');
}

9 - Sakrij broj proizvoda u prikazu kategorije

add_filter ('woocommerce_subcategory_count_html', 'woo_remove_category_products_count');

funkcija woo_remove_category_products_count () {
povratak;
}

10 - Obavezno odredite polja za naplatu računa

add_filter ('woocommerce_checkout_fields', 'woo_filter_account_checkout_fields');

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

vratiti $ polja;
}

11 - Preimenovanje kartice proizvoda

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

$ tabs ['description'] ['title'] = 'Više informacija';

vratiti $ tabs;
}

12 - Popis WooCommerce kategorija proizvoda

$ args = niz (
'broj' => $ broj,
'orderby' => $ orderby,
'order' => $ nalog,
'hid_empty' => $ hid_empty,
'uključi' => $ ids
);

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

$ count = count ($ product_categories);
ako ($ count> 0) {
jeka "„;
}

13 - Zamijenite naslov stranice trgovine

add_filter ('woocommerce_page_title', 'woo_shop_page_title');

funkcija woo_shop_page_title ($ page_title) {

if ('Shop' == $ page_title) {
povratak "Moj novi naslov";
}
}

14 - Promijenite naslov widgeta

/ *
* Promjena naslova widgeta
* /
add_filter ('widget_title', 'woo_widget_title', 10, 3);

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

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

15 - Uklonite zadane postavke WooCommerce

add_filter ('woocommerce_catalog_settings', 'woo_remove_catalog_options');

funkcija woo_remove_catalog_options ($ katalog) {

postavi ($ katalog [23]); // Obrezivanje nula (ne)
postavi ($ katalog [22]); // 2 decimala
postavi ($ katalog [21]); // decimalni sep (.)
postavi ($ katalog [20]); // tisuću sep (,)
postavi ($ katalog [19]); // valutna pozicija (lijevo)
postavi ($ katalog [18]); // valutna pozicija (lijevo)
postavi ($ katalog [5]); // ajax dodaj u košaricu (ne)

vratiti $ katalog;
}

16 - Promijenite "s" adrese e-pošte

funkcija woo_custom_wp_mail_from () {
globalna $ woocommerce;
uzvrati html_entity_decode ('vaš@email.com');
}
add_filter ('wp_mail_from', 'woo_custom_wp_mail_from', 99);

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

funkcija woo_custom_wp_mail_from_name () {
globalna $ woocommerce;
vratiti 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;
vratiti html_entity_decode (get_option ('woocommerce_email_from'));
}
add_filter ('wp_mail_from_name', 'woo_custom_wp_mail_from_name', 99);

18 - ID-ovi proizvoda za povratak

funkcija woo_get_featured_product_ids () {
// Učitavanje iz predmemorije
$ featured_product_ids = get_transient ('wc_featured_products');

// Pronađena je valjana predmemorija
if (netočno! == $ featured_product_ids)
vratiti $ Featured_product_ids;

$ Featured = get_posts (niz (
'post_type' => niz ('proizvod', 'product_variation'),
'posts_per_page' => -1,
'post_status' => 'objavi',
'meta_query' => niz (
array (
'tipka' => '_ vidljivost',
'value' => niz ('katalog', 'vidljivo'),
'usporedi' => 'IN'
),
array (
'tipka' => '_ponovno',
'vrijednost' => 'da'
)
),
'polja' => 'id => roditelj'
));

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

set_transient ('wc_featured_products', $ featured_product_ids);

vratiti $ Featured_product_ids;
}

19 - Dodajte prilagođeno polje za uređivanje stranice adrese

// dodajte polja za uređivanje stranice adrese
funkcija woo_add_edit_address_fields ($ polja) {

$ new_fields = niz (
'date_of_birth' => niz (
'label' => __ ('Datum rođenja', 'woocommerce'),
'obvezno' => lažno,
'class' => niz ('oblik-redak'),
),
);

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

vratiti $ polja;

}

add_filter ('woocommerce_default_address_fields', 'woo_add_edit_address_fields');

20 - Prikažite kratki kôd kataloga proizvoda

funkcija woocommerce_sale_products ($ atts) {

globalna $ woocommerce_loop;

ekstrakt (shortcode_atts (array (
'per_page' => '12',
'stupci' => '4',
'orderby' => 'datum',
'order' => 'desc'
), $ atts));

$ woocommerce_loop ['stupci'] = $ stupci;

$ args = niz (
'post_type' => 'proizvod',
'post_status' => 'objavi',
'ignore_sticky_posts' => 1,
'posts_per_page' => $ per_page,
'orderby' => $ orderby,
'order' => $ nalog,
'meta_query' => niz (
array (
'tipka' => '_ vidljivost',
'value' => niz ('katalog', 'vidljivo'),
'usporedi' => 'IN'
),
array (
'tipka' => '_sale_price',
'vrijednost' => 0,
'usporedi' => '>',
'type' => 'NUMERIČKO'
)
)
);
query_posts ($ argumenata);
ob_start ();
woocommerce_get_template_part ('petlja', 'trgovina');
wp_reset_query ();

vratiti ob_get_clean ();
}

add_shortcode ('sale_products', 'woocommerce_sale_products');

21 - Imajte pojedinačne proizvode

funkcija woo_have_onsale_products () {

globalna $ woocommerce;

// Dobiti proizvode na prodaju
$ product_ids_on_sale = array_filter (woocommerce_get_product_ids_on_sale ());

if (! prazno ($ product_ids_on_sale)) {
povratak istinit;
} else {
vratiti lažno;
}

}

// Primjer:
ako (woo_have_onsale_products ()) {
odjek "imati prodajne proizvode";
} else {
odjek „bez prodajnog proizvoda“;
}

22 - Postavite minimalni iznos narudžbe

dodavanje ('woocommerce_checkout_process', 'wc_minimum_order_amount');
funkcija wc_minimum_order_amount () {
globalna $ woocommerce;
$ minimalno = 50;
if ($ woocommerce-> cart-> get_cart_total (); < $minimum ) {
$woocommerce->add_error (sprintf ('Za narudžbu morate imati narudžbu sa najmanje% s.', minimalno $));
}
}

23 - Naručite po cijeni, datumu ili naslovu na stranici trgovine

add_filter ('woocommerce_default_catalog_orderby', 'custom_default_catalog_orderby');

funkcija custom_default_catalog_orderby () {
Datum povratka'; // Može se koristiti i naziv i cijena
}

24 - Preusmjeri gumb dodaj u košaricu na stranicu za naplatu

add_filter ('add_to_cart_redirect', 'redirect_to_checkout');

funkcija redirect_to_checkout () {
globalna $ woocommerce;
$ checkout_url = $ woocommerce-> cart-> get_checkout_url ();
vratiti $ checkout_url;
}

25 - Dodajte primatelja e-pošte kada je narudžba dovršena

funkcija woo_extra_email_recipient ($ primatelj, $ objekt) {
$ primatelj = $ primatelj. ', vaš@email.com';
vratiti $ primatelja;
}
add_filter ('woocommerce_email_recipient_customer_completed_order', 'woo_extra_email_recipient', 10, 2);

I to je to! Nadam se da će vam ovi isječci biti korisni, svi su testirani i djeluju u redu, ali ako imate problema, javite mi dio komentara. Zabavi 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