25 parhaan WooCommerce-katkelmani WordPressille

  1. 1. Luettu tällä hetkellä: 25 parhaan WooCommerce-katkelmani WordPressille
  2. 2. 25 parhaan WooCommerce-katkelmani WordPress-osalle 2

Ajat lentävät… On kulunut 6 kuukautta siitä, kun aloin työskennellä WooThemes-palvelussa WooCommerce-kokopäiväisen tukiasiantuntijana. Näiden kuuden kuukauden aikana olen oppinut paljon WooCommerceista ja koodan paljon (lukenut paljon!) WooCommerce-liittyvistä katkelmista. Itse asiassa WooCommerce on todella tehokas työkalu ja helposti laajennettavissa. Siinä on monia koukkuja, joita voidaan käyttää melkein kaikkeen, ja se tekee WooCommerceista niin hyvän. Tässä on luettelo katkelmista, jotka olen kirjoittanut tai mukauttanut viime kuukausina; kaikki nämä katkelmat on liitettävä teemat-kansiosi function.php-tiedostoon:


1 – Lisää maksutyyppi WooCommerce-järjestelmänvalvojan sähköpostiosoitteeseen

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

toiminto add_payment_method_to_admin_new_order ($ order, $ is_admin_email) {
if ($ is_admin_email) {
kaiku '

Maksutapa: '. $ order-> payment_method_title. '

'; } }

2 – Ylämyynti tuotteita sivua / riviä kohti

poista toiminta ('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'))) {
toiminto woocommerce_output_upsells () {
woocommerce_upsell_display (3,3); // Näytä 3 tuotetta 3 rivissä
}
}

3 – Poista tuoteryhmät kauppasivulta

add_action ('pre_get_posts', 'custom_pre_get_posts_query');

toiminto custom_pre_get_posts_query ($ q) {

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

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

$ q-> set ('tax_query', taulukko (taulukko (
'taxonomy' => 'product_cat',
'kenttä' => 'etana',
'ehdot' => array ('väri', 'maku', 'mausteet', 'vanilja'), // Älä näytä näiden luokkien tuotteita kauppasivulla
'operaattori' => 'EI IN'
)));

}

poista toiminta ('pre_get_posts', 'custom_pre_get_posts_query');

}

4 – Käännä nopeasti kaikki merkkijonot

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

toiminto translate_text ($ käännetty) {
$ translation = str_ireplace ('Valitse ja vaihtoehto', 'Valitse', $ käännetty);
paluu $ käännetty;
}

5 – Sulje luokka pois WooCommerce-luokka-widgetistä

add_filter ('woocommerce_product_categories_widget_args', 'woo_product_cat_widget_args');

toiminto woo_product_cat_widget_args ($ cat_args) {

$ cat_args ['pois'] = ryhmä ('16 ');

palauta $ cat_args;
}

6 – Lisää mukautettu kenttä tuotevaihtoehtoon

// Näytä kentät
add_action ('woocommerce_product_after_variable_attributes', 'muuttujakentät', 10, 2);
// JS lisätä kenttiä uusille muunnelmille
add_action ('woocommerce_product_after_variable_attributes_js', 'muuttuja_kentät_js');
// Tallenna variaatiokentät
add_action ('woocommerce_process_product_meta_variable', 'muuttujankentät_prosessit', 10, 1);

funktio muuttujakentät ($ silmukka, $ variaation_data) {?>


7 - Korvaa ”Ei varastossa” sanalla ”myyty”

add_filter ('woocommerce_get_aibility', 'saatavuus_filter_func');

toiminnon saatavuus_suodatin_toiminto (saatavuus $)
{
$ saatavuus ['saatavuus'] = str_ireplace ('Ei varastossa', 'Myyty', $ saatavuus ['saatavuus']);
palauta saatavuus;
}

8 - Näytä "jo ostoskorissa oleva tuote" -painikkeen "Lisää ostoskoriin" sijaan

/ **
* Muuta ostoskorin tekstiä yksittäisillä tuotesivuilla
* /
add_filter ('woocommerce_product_single_add_to_cart_text', 'woo_custom_cart_button_text');

toiminto woo_custom_cart_button_text () {

maailmanlaajuinen dollarikauppa;

foreach ($ woocommerce-> cart-> get_cart () muodossa $ cart_item_key => $ arvot) {
$ _product = $ -arvot ['data'];

if (get_the_ID () == $ _tuote-> tunnus) {
return __ ('Jo ostoskorissa - Lisää uudelleen?', 'woocommerce');
}
}

return __ ('Lisää ostoskoriin', 'woocommerce');
}

/ **
* Muuta tuotearkistojen lisäystä ostoskoriin
* /
add_filter ('add_to_cart_text', 'woo_archive_custom_cart_button_text');

toiminto woo_archive_custom_cart_button_text () {

maailmanlaajuinen dollarikauppa;

foreach ($ woocommerce-> cart-> get_cart () muodossa $ cart_item_key => $ arvot) {
$ _product = $ -arvot ['data'];

if (get_the_ID () == $ _tuote-> tunnus) {
return __ ('Jo ostoskorissa', 'woocommerce');
}
}

return __ ('Lisää ostoskoriin', 'woocommerce');
}

9 - Piilota tuotteet lasketaan luokkanäkymässä

add_filter ('woocommerce_subcategory_count_html', 'woo_remove_category_products_count');

toiminto woo_remove_category_products_count () {
palata;
}

10 - Tee tilin kassalle tarvittavat kentät

add_filter ('woocommerce_checkout_fields', 'woo_filter_account_checkout_fields');

toiminto woo_filter_account_checkout_fields ($ kentät) {
$ kentät ['tili'] ['tilin_käyttäjänimi'] ['vaaditaan'] = totta;
$ kentät ['tili'] ['tilin salasana'] ['vaaditaan'] = totta;
$ kentät ['tili'] ['tili_ salasana-2'] ['vaaditaan'] = totta;

palauta $ kentät;
}

11 - Nimeä tuote-välilehti uudelleen

add_filter ('woocommerce_product_tabs', 'woo_rename_tab', 98);
toiminto woo_rename_tab ($ välilehdet) {

$ tabs ['description'] ['title'] = 'Lisätietoja';

palauta $ välilehdet;
}

12 - Listaa WooCommerce-tuoteluokat

$ args = taulukko (
'numero' => $ numero,
'orderby' => $ orderby,
'order' => $ order,
'hide_empty' => $ hide_empty,
'sisällytä' => $ id
);

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

$ count = count ($ product_categories);
if ($ count> 0) {
kaiku "";
}

13 - Korvaa kauppasivun otsikko

add_filter ('woocommerce_page_title', 'woo_shop_page_title');

toiminto woo_shop_page_title ($ page_title) {

if ('Kauppa' == $ page_title) {
palauta "Uusi otsikko";
}
}

14 - Vaihda widget-otsikko

/ *
* Vaihda widget-otsikko
* /
add_filter ('widget_title', 'woo_widget_title', 10, 3);

toiminto woo_widget_title ($ otsikko, $ esiintymä, $ id_base) {

if ('onsale' == $ id_base) {
palauta "Uusi otsikko";
}
}

15 - Poista WooCommerce-oletusasetukset

add_filter ('woocommerce_catalog_settings', 'woo_remove_catalog_options');

toiminto woo_remove_catalog_options ($ luettelo) {

unset ($ luettelo [23]); // Leikkaa nollia (ei)
unset ($ luettelo [22]); // 2 desimaalia
unset ($ luettelo [21]); // desimaalipilkku (.)
unset ($ luettelo [20]); // tuhat sep (,)
unset ($ luettelo [19]); // valuutan sijainti (vasen)
unset ($ luettelo [18]); // valuutan sijainti (vasen)
unset ($ luettelo [5]); // ajax lisää ostoskoriin (ei)

palauta $ luettelo;
}

16 - Vaihda ”mistä” sähköpostiosoite

toiminto woo_custom_wp_mail_from () {
maailmanlaajuinen dollarikauppa;
palauta html_entity_decode ('[email protected]');
}
add_filter ('wp_mail_from', 'woo_custom_wp_mail_from', 99);

17 - Koodaa nimestä WooCommerce-sähköpostissa

toiminto woo_custom_wp_mail_from_name () {
maailmanlaajuinen dollarikauppa;
return html_entity_decode (get_option ('woocommerce_email_from_name'));
}
add_filter ('wp_mail_from_name', 'woo_custom_wp_mail_from_name', 99);

toiminto woo_custom_wp_mail_from () {
maailmanlaajuinen dollarikauppa;
return html_entity_decode (get_option ('woocommerce_email_from'));
}
add_filter ('wp_mail_from_name', 'woo_custom_wp_mail_from_name', 99);

18 - Palauta esiteltyjen tuotteiden tunnukset

toiminto woo_get_featured_product_ids () {
// Lataa välimuistista
$ Featured_product_ids = get_transient ('wc_featured_products');

// Kelvollinen välimuisti löytyi
if (false! == $ Featured_product_ids)
palauta $ Featured_product_ids;

$ Featured = get_posts (taulukko (
'post_type' => taulukko ('tuote', 'tuote_muutos'),
'posts_per_page' => -1,
'post_status' => 'julkaise',
'meta_query' => taulukko (
array (
'key' => '_visibility',
'arvo' => taulukko ('luettelo', 'näkyvä'),
'vertaa' => 'IN'
),
array (
'key' => '_featured',
'arvo' => 'kyllä'
)
),
'kentät' => 'id => vanhempi'
));

$ product_ids = ryhmäavaimet ($ esitelty);
$ parent_ids = array_values ​​($ varustellut);
$ Featured_product_ids = array_unique (array_merge ($ product_ids, $ parent_ids));

set_transient ('wc_featured_products', $ Featured_product_ids);

palauta $ Featured_product_ids;
}

19 - Lisää mukautettu kenttä osoitesivun muokkaamiseen

// lisää kenttiä muokataksesi osoitesivua
toiminto woo_add_edit_address_field ($ kentät) {

$ new_fields = taulukko (
'date_of_birth' => taulukko (
'label' => __ ('Syntymäaika', 'Woocommerce'),
'vaaditaan' => vääriä,
'luokka' => taulukko ('muoto-rivi'),
),
);

$ kentät = array_merge ($ kentät, $ new_ kentät);

palauta $ kentät;

}

add_filter ('woocommerce_default_address_fields', 'woo_add_edit_address_fields');

20 - Näytä tukkumyyntiluettelon lyhytkoodi

toiminto woocommerce_sale_products ($ atts) {

globaali $ woocommerce_loop;

Uute (shortcode_atts (array (
'per_page' => '12',
'sarakkeet' => '4',
'orderby' => 'päivämäärä',
'tilaus' => 'desc'
), $ atts));

$ woocommerce_loop ['sarakkeet'] = $ sarakkeet;

$ args = taulukko (
'post_type' => 'tuote',
'post_status' => 'julkaise',
'ignore_sticky_posts' => 1,
'posts_per_page' => $ per_ sivu,
'orderby' => $ orderby,
'order' => $ order,
'meta_query' => taulukko (
array (
'key' => '_visibility',
'arvo' => taulukko ('luettelo', 'näkyvä'),
'vertaa' => 'IN'
),
array (
'key' => '_sale_price',
'arvo' => 0,
'vertaa' => '>',
'type' => 'NUMERIC'
)
)
);
query_posts ($ args);
ob_start ();
woocommerce_get_template_part ('silmukka', 'kauppa');
wp_reset_query ();

palauta ob_get_clean ();
}

add_shortcode ('sale_products', 'woocommerce_sale_products');

21 - Halvat myydä tuotteita

toiminto woo_have_onsale_products () {

maailmanlaajuinen dollarikauppa;

// Hanki tuotteita myyntiin
$ product_ids_on_sale = array_filter (woocommerce_get_product_ids_on_sale ());

if (! tyhjä ($ product_ids_on_sale)) {
palata totta;
} muuta {
palauta väärä;
}

}

// Esimerkki:
if (woo_have_onsale_products ()) {
kaiku 'on myynnissä tuotteita';
} muuta {
kaiku 'ei myytävää tuotetta';
}

22 - Aseta vähimmäistilausmäärä

add_action ('woocommerce_checkout_process', 'wc_minimum_order_amount');
toiminto wc_minimum_order_amount () {
maailmanlaajuinen dollarikauppa;
vähintään $ 50 = 50;
if ($ woocommerce-> cart-> get_cart_total (); < $minimum ) {
$woocommerce->add_error (sprintf ('Sinulla on oltava vähintään% s tilaus tilauksen tekemistä varten.', vähintään $));
}
}

23 - Tilaa hinnan, päivämäärän tai otsikon perusteella kauppasivulta

add_filter ('woocommerce_default_catalog_orderby', 'custom_default_catalog_orderby');

toiminto custom_default_catalog_orderby () {
palautuspäivä'; // Voi käyttää myös otsikkoa ja hintaa
}

24 - Ohjaa lisää ostoskoriin -painike kassasivulle

add_filter ('add_to_cart_redirect', 'redirect_to_checkout');

toiminto redirect_to_checkout () {
maailmanlaajuinen dollarikauppa;
$ checkout_url = $ woocommerce-> cart-> get_checkout_url ();
return $ checkout_url;
}

25 - Lisää sähköpostin vastaanottaja tilauksen valmistuttua

toiminto woo_extra_email_recipient ($ vastaanottaja, $ esine) {
$ vastaanottaja = $ vastaanottaja. ', [email protected]';
palauttaa $ vastaanottaja;
}
add_filter ('woocommerce_email_recipient_customer_completed_order', 'woo_extra_email_recipient', 10, 2);

Ja… siinä kaikki! Toivottavasti löydät nämä katkelmat hyödyllisiä, ne kaikki on testattu ja ne kaikki toimivat hyvin, mutta jos sinulla on ongelmia, kerro minulle kommentti-osiosta. Pidä hauskaa! ��

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