Mano 25 geriausi „WordPress“ „WooCommerce“ fragmentai

  1. 1. Dabar skaitau: Mano 25 geriausi „WordPress“ „WooCommerce“ fragmentai
  2. 2. Mano 25 geriausi „WordPress“ „WooCommerce“ fragmentai, 2 dalis

Laikai skraido … Praėjo 6 mėnesiai nuo tada, kai aš pradėjau dirbti „WooThemes“ kaip „WooCommerce“ viso darbo laiko palaikymo technikas. Per tuos 6 mėnesius daug sužinojau apie WooCommerce ir daug kodaviau (perskaičiau daug!) su „WooCommerce“ susijusių fragmentų. Tiesą sakant, „WooCommerce“ yra tikrai galingas įrankis ir lengvai plečiamas. Jame yra daug kabliukų, kuriuos galima naudoti beveik viskam, ir tai daro „WooCommerce“ tokį gerą. Čia yra fragmentų, kuriuos parašiau ar pritaikiau per pastaruosius mėnesius, sąrašas; visi šie fragmentai turi būti įklijuoti į funkcijų.php failą jūsų aplanke:


Contents

1 – Pridėkite mokėjimo tipą prie „WooCommerce“ administratoriaus el. Pašto

add_action ('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) {
if ($ is_admin_email) {
aidėti '

Mokėjimo būdas: '. USD užsakymas-> mokėjimo_metodas_pavadinimas. '

'; } }

2 – Aukščiausio lygio produktų pardavimas puslapyje / eilutėje

pašalinti_veikimą ('woocommerce_after_single_product_summary', 'woocommerce_upsell_display', 15);
add_action ('woocommerce_after_single_product_summary', 'woocommerce_output_upsells', 15);

if (! function_existing ('woocommerce_output_upsells'))) {
funkcija woocommerce_output_upsells () {
woocommerce_upsell_display (3,3); // Rodyti 3 produktus 3 eilutėse
}
}

3 – Pašalinkite produktų kategorijas iš parduotuvės puslapio

add_action ('pre_get_posts', 'custom_pre_get_posts_query');

funkcija custom_pre_get_posts_query ($ q) {

if (! $ q-> is_main_query ()) grįžti;
if (! $ q-> is_post_type_archive ()) return;

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

$ q-> set ('tax_query', masyvas (masyvas (
'taxonomy' => 'product_cat',
'laukas' => 'šliužas',
'terminai' => masyvas ('spalva', 'skonis', 'prieskoniai', 'vanilė') // Parduotuvės puslapyje nerodyti šių kategorijų produktų
'operatorius' => 'NE'
)));

}

pašalinti_veikimą ('pre_get_posts', 'custom_pre_get_posts_query');

}

4 – greitai išverskite bet kurią eilutę

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

funkcija translate_text ($ išverstas) {
$ translation = str_ireplace ('Pasirinkite ir parinktis', 'Pasirinkti', $ išverstas);
grįžti $ išverstas;
}

5 – Išskirkite kategoriją iš „WooCommerce“ kategorijos valdiklio

add_filter ('woocommerce_product_categories_widget_args', 'woo_product_cat_widget_args');

funkcija woo_product_cat_widget_args ($ cat_args) {

$ cat_args ['neįtraukti'] = masyvas ('16 ');

grąžinti $ cat_args;
}

6 – pridėkite pasirinktinį lauką prie produkto varianto

// Rodyti laukus
add_action ('woocommerce_product_after_variable_attributes', 'variable_fields', 10, 2);
// JS, kad pridėtumėte laukus naujiems variantams
add_action ('woocommerce_product_after_variable_attributes_js', 'kintamasis_fields_js');
// Įrašykite variantų laukus
add_action ('woocommerce_process_product_meta_variable', 'kintamasis_fields_process', 10, 1);

funkcijos kintamojo laukai ($ kilpa, $ variacijos_duomenys) {?>


7 - Pakeiskite „Išparduota“ žodžiu „Parduota“

add_filter ('woocommerce_get_a Prieinamumas', 'prieinamumas_filter_func');

funkcijos prieinamumas_filtro_funcas (prieinamumas $)
{
$ prieinamumas ['prieinamumas'] = str_ireplace ('Išparduota', 'Parduota', $ prieinamumas ['prieinamumas']);
grąžinti $ prieinamumą;
}

8 - vietoje mygtuko „pridėti į krepšelį“ rodykite „produktas jau yra krepšelyje“

/ **
* Pakeiskite teksto įdėjimą į krepšelį atskirų produktų puslapiuose
* /
add_filter ('woocommerce_product_single_add_to_cart_text', 'woo_custom_cart_button_text');

funkcija woo_custom_cart_button_text () {

pasaulinė $ woocommerce;

foreach ($ woocommerce-> cart-> get_cart () kaip $ cart_item_key => $ reikšmės) {
$ _product = $ reikšmės ['duomenys'];

if (get_the_ID () == $ _product-> id) {
grąžinti __ („Jau krepšyje - pridėti dar kartą?“, „Woocommerce“);
}
}

grįžti __ ('Įdėti į krepšelį', 'woocommerce');
}

/ **
* Produktų archyvuose pakeiskite pridėjimo į krepšelį tekstą
* /
add_filter ('add_to_cart_text', 'woo_archive_custom_cart_button_text');

funkcija woo_archive_custom_cart_button_text () {

pasaulinė $ woocommerce;

foreach ($ woocommerce-> cart-> get_cart () kaip $ cart_item_key => $ reikšmės) {
$ _product = $ reikšmės ['duomenys'];

if (get_the_ID () == $ _product-> id) {
grąžinti __ („Jau krepšyje“, „Woocommerce“);
}
}

grįžti __ ('Įdėti į krepšelį', 'woocommerce');
}

9 - kategorijų rodinyje paslėpti produktai

add_filter ('woocommerce_subcategory_count_html', 'woo_remove_category_products_count');

funkcija woo_remove_category_products_count () {
grįžti;
}

10 - būtinai užpildykite sąskaitos kasos laukus

add_filter ('woocommerce_checkout_fields', 'woo_filter_account_checkout_fields');

funkcija woo_filter_account_checkout_fields ($ laukų) {
$ laukai ['account'] ['account_username'] ['required'] = true;
$ laukai ['account'] ['account_password'] ['required'] = true;
$ laukai ['account'] ['account_password-2'] ['required'] = true;

grąžinti $ laukus;
}

11 - pervardykite produkto skirtuką

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

$ tabs ['description'] ['title'] = 'Daugiau informacijos';

grąžinti $ skirtukus;
}

12 - Išvardinkite „WooCommerce“ produktų kategorijas

$ args = masyvas (
'skaičius' => $ numeris,
'orderby' => $ orderby,
'order' => $ orderis,
'hide_empty' => $ hide_empty,
'įtraukti' => $ ID
);

$ product_categories = gauti_terms ('produktas_katinėlis', $ args);

$ skaičius = skaičius ($ produktas_kategorijos);
if ($ skaičius> 0) {
aidas ““;
}

13 - pakeiskite parduotuvės puslapio pavadinimą

add_filter ('woocommerce_page_title', 'woo_shop_page_title');

funkcija woo_shop_page_title ($ page_title) {

if ('Parduotuvė' == $ page_title) {
grąžinti „Mano naujas pavadinimas“;
}
}

14 - pakeiskite valdiklio pavadinimą

/ *
* Keisti valdiklio pavadinimą
* /
add_filter ('valdikliui_pavadinimas', 'woo_widget_title', 10, 3);

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

if ('onsale' == $ id_base) {
grąžinti „Mano naujas pavadinimas“;
}
}

15 - Pašalinkite „WooCommerce“ numatytuosius nustatymus

add_filter ('woocommerce_catalog_settings', 'woo_remove_catalog_options');

funkcija woo_remove_catalog_options ($ katalogas) {

unset ($ katalogas [23]); // Apipjaustykite nulius (ne)
nenustatytas ($ katalogas [22]); // 2 dešimtainiai ženklai
nenustatytas ($ katalogas [21]); // dešimtainis sep (.)
unset ($ katalogas [20]); // tūkstantis sep (,)
unset ($ katalogas [19]); // valiutos pozicija (kairėje)
unset ($ katalogas [18]); // valiutos pozicija (kairėje)
unset ($ katalogas [5]); // ajax į krepšelį (ne)

grąžinti $ katalogą;
}

16 - pakeiskite el. Pašto adresą „nuo“

funkcija woo_custom_wp_mail_from () {
pasaulinė $ woocommerce;
grąžinti html_entity_decode ('[email protected]');
}
pridėti filtrą ('wp_mail_from', 'woo_custom_wp_mail_from', 99);

17 - dekoduoti iš vardo „WooCommerce“ el. Laiške

funkcija woo_custom_wp_mail_from_name () {
pasaulinė $ woocommerce;
return 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 () {
pasaulinė $ woocommerce;
return html_entity_decode („get_option“ („woocommerce_email_from“));
}
add_filter ('wp_mail_from_name', 'woo_custom_wp_mail_from_name', 99);

18 - Grąžinkite pristatytų prekių ID

funkcija woo_get_featured_product_ids () {
// Įkelkite iš talpyklos
$ Featured_product_ids = get_transient ('wc_featured_products');

// Rasta tinkama talpykla
if (false! == $ Featured_product_ids)
grąžinti $ Featured_product_ids;

$ Featured = get_posts (masyvas (
'post_type' => masyvas ('produktas', 'produkto_variacija'),
'posts_per_page' => -1,
'post_status' => 'skelbti',
'meta_query' => masyvas (
masyvas (
'key' => '_visibility',
'value' => masyvas ('katalogas', 'matomas'),
'palyginti' => 'IN'
),
masyvas (
'key' => '_featured',
'value' => 'taip'
)
),
'laukai' => 'id => tėvas'
));

$ product_ids = masyvo raktai (rodoma $);
$ parent_ids = array_values ​​(rodoma $);
$ Featured_product_ids = array_unique (array_merge ($ product_ids, $ parent_ids));

set_transient ('wc_featured_products', $ Featured_product_ids);

grąžinti $ Featured_product_ids;
}

19 - Pridėti pasirinktinį lauką, kad galėtumėte redaguoti adreso puslapį

// pridėkite laukus, kad galėtumėte redaguoti adreso puslapį
funkcija woo_add_edit_address_fields ($ laukai) {

$ new_fields = masyvas (
'date_of_birth' => masyvas (
'label' => __ ('Gimimo data', 'woocommerce'),
'būtinas' => klaidingas,
'klasė' => masyvas ('form-row'),
),
);

$ laukai = masyvas_merge ($ laukai, $ nauji laukai);

grąžinti $ laukus;

}

add_filter ('woocommerce_default_address_fields', 'woo_add_edit_address_fields');

20 - Einamųjų prekių katalogo trumpųjų kodų rodymas

funkcija woocommerce_sale_products ($ atts) {

global $ woocommerce_loop;

ištrauka (shortcode_atts (masyvas (
'per_page' => '12',
'stulpeliai' => '4',
'orderby' => 'data',
'užsakymas' => 'aprašymas'
), $ atts));

$ woocommerce_loop ['columns'] = $ stulpeliai;

$ args = masyvas (
'post_type' => 'produktas',
'post_status' => 'skelbti',
'ignore_sticky_posts' => 1,
'posts_per_page' => $ per_page,
'orderby' => $ orderby,
'order' => $ orderis,
'meta_query' => masyvas (
masyvas (
'key' => '_visibility',
'value' => masyvas ('katalogas', 'matomas'),
'palyginti' => 'IN'
),
masyvas (
'raktas' => '_sale_price',
'vertė' => 0,
'palyginti' => '>',
'type' => 'NUMERIC'
)
)
);
query_posts ($ args);
ob_start ();
woocommerce_get_template_part ('kilpa', 'parduotuvė');
wp_reset_query ();

grąžinti ob_get_clean ();
}

add_shortcode ('sale_products', 'woocommerce_sale_products');

21 - Turėkite produktų išpardavimui

funkcija woo_have_onsale_products () {

pasaulinė $ woocommerce;

// Gaukite produktus parduoti
$ product_ids_on_sale = array_filter (woocommerce_get_product_ids_on_sale ());

if (! tuščias ($ product_ids_on_sale)) {
grįžti tiesa;
} Kitas {
grąžinti klaidingą;
}

}

// Pavyzdys:
if (woo_have_onsale_products ()) {
aidas „turi parduodamų produktų“;
} Kitas {
echo „nėra prekės parduodamos“;
}

22 - nustatykite mažiausią užsakymo sumą

add_action ('woocommerce_checkout_process', 'wc_minimum_order_amount');
funkcija wc_minimum_order_amount () {
pasaulinė $ woocommerce;
$ minimalus = 50;
if ($ woocommerce-> cart-> get_cart_total (); < $minimum ) {
$woocommerce->add_error (sprintf ('Kad galėtumėte pateikti užsakymą, turite turėti užsakymą, turintį ne mažiau kaip% s.', minimumas $));
}
}

23 - užsakykite pagal kainą, datą arba pavadinimą parduotuvės puslapyje

add_filter ('woocommerce_default_catalog_orderby', 'custom_default_catalog_orderby');

funkcija custom_default_catalog_orderby () {
grįžimo data'; // Taip pat gali naudoti pavadinimą ir kainą
}

24 - peradresuokite pridėjimo į krepšelį mygtuką, kad apsilankytumėte puslapyje

add_filter ('add_to_cart_redirect', 'redirect_to_checkout');

funkcija redirect_to_checkout () {
pasaulinė $ woocommerce;
$ checkout_url = $ woocommerce-> cart-> get_checkout_url ();
grąžinti $ checkout_url;
}

25 - Įveskite el. Pašto gavėją, kai užsakymas bus baigtas

funkcija woo_extra_email_recipient ($ gavėjas, $ objektas) {
$ gavėjas = $ gavėjas. ', [email protected]';
grąžinti gavėją;
}
add_filter ('woocommerce_email_recipient_customer_completed_order', 'woo_extra_email_recipient', 10, 2);

Štai ir viskas! Tikiuosi, kad jums bus naudingi šie fragmentai, jie visi buvo išbandyti ir visi veikia gerai, tačiau jei kyla problemų, praneškite man apie tai komentarų skiltyje. Pasilinksmink! ��

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me