Mine 25 beste WooCommerce-utdrag for WordPress

  1. 1. Leser for øyeblikket: Mine 25 beste WooCommerce-utdrag for WordPress
  2. 2. Mine 25 beste WooCommerce-utdrag for WordPress del 2

Tidene flyr … Det har gått seks måneder siden jeg begynte å jobbe for WooThemes som WooCommerce-tekniker på heltid. I løpet av disse 6 månedene lærte jeg mye på WooCommerce og jeg kodet mye (les mye!) av WooCommerce-relaterte utdrag. Egentlig er WooCommerce virkelig kraftig verktøy og lett utvidbart. Den har mange kroker som kan brukes til nesten alt, og det er det som gjør WooCommerce så bra. Her er en liste over tekstutdrag jeg skrev eller tilpasset de siste månedene; alle disse tekstutdragene må limes inn i funksjoner.php-filen i temamappen:


1 – Legg til betalingstype i WooCommerce Admin Email

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

funksjon add_payment_method_to_admin_new_order ($ ordre, $ is_admin_email) {
if ($ is_admin_email) {
ekko '

Betalingsmetode: '. $ order-> payment_method_title. '

'; } }

2 – Up-selger produkter per side / per linje

remove_action ('woocommerce_after_single_product_summary', 'woocommerce_upsell_display', 15);
add_action ('woocommerce_after_single_product_summary', 'woocommerce_output_upsells', 15);

if (! function_exists ('woocommerce_output_upsells')) {
funksjon woocommerce_output_upsells () {
woocommerce_upsell_display (3,3); // Vis 3 produkter i rad på 3
}
}

3 – Fjern produktkategorier fra butikksiden

add_action ('pre_get_posts', 'custom_pre_get_posts_query');

funksjon custom_pre_get_posts_query ($ q) {

hvis (! $ q-> is_main_query ()) returnerer;
hvis (! $ q-> is_post_type_archive ()) returnerer;

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

$ q-> sett ('tax_query', array (array (
'taxonomy' => 'product_cat',
'felt' => 'slug',
'terms' => matrise ('farge', 'smak', 'krydder', 'vanilje'), // Ikke vis produkter i disse kategoriene på butikksiden
'operator' => 'NOT IN'
)));

}

remove_action ('pre_get_posts', 'custom_pre_get_posts_query');

}

4 – Oversett hurtig hvilken som helst streng

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

funksjon translate_text ($ oversatt) {
$ translated = str_ireplace ('Velg og alternativ', 'Velg', $ oversatt);
retur $ oversatt;
}

5 – Ekskluder en kategori fra WooCommerce-kategori-widgeten

add_filter ('woocommerce_product_category_widget_args', 'woo_product_cat_widget_args');

funksjon woo_product_cat_widget_args ($ cat_args) {

$ cat_args ['exclude'] = matrise ('16 ');

returner $ cat_args;
}

6 – Legg til et tilpasset felt i en produktvariant

// Visningsfelt
add_action ('woocommerce_product_after_variable_attributter', 'variable_fields', 10, 2);
// JS for å legge til felt for nye varianter
add_action ('woocommerce_product_after_variable_attribut_js', 'variabel_fields_js');
// Lagre variasjonsfelt
add_action ('woocommerce_process_product_meta_variable', 'variable_fields_process', 10, 1);

funksjon variabelfelt ($ loop, $ variation_data) {?>


7 - Bytt ut "Ikke på lager" av "solgt"

add_filter ('woocommerce_get_available', 'accessible_filter_func');

funksjon tilgjengelighet_filter_func ($ tilgjengelighet)
{
$ tilgjengelighet ['tilgjengelighet'] = str_ireplace ('Ikke på lager', 'Solgt', $ tilgjengelighet ['tilgjengelighet']);
returner $ tilgjengelighet;
}

8 - Vis "produkt som allerede er i handlekurven" i stedet for "legg i handlekurven" -knappen

/ **
* Endre legg til handlekurv-teksten på enkelt produktsider
* /
add_filter ('woocommerce_product_single_add_to_cart_text', 'woo_custom_cart_button_text');

funksjon woo_custom_cart_button_text () {

global $ woocommerce;

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

if (get_the_ID () == $ _product-> id) {
return __ ('Allerede i handlevogn - Legg igjen?', 'woocommerce');
}
}

return __ ('Legg i handlekurv', 'woocommerce');
}

/ **
* Endre legg til i handlekurven på produktarkiv
* /
add_filter ('add_to_cart_text', 'woo_archive_custom_cart_button_text');

funksjon woo_archive_custom_cart_button_text () {

global $ woocommerce;

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

if (get_the_ID () == $ _product-> id) {
return __ ('Allerede i handlevogn', 'woocommerce');
}
}

return __ ('Legg i handlekurv', 'woocommerce');
}

9 - Skjul teller produkter i kategorivisning

add_filter ('woocommerce_subcategory_count_html', 'woo_remove_category_products_count');

funksjon woo_remove_category_products_count () {
komme tilbake;
}

10 - Gjør kontoutsjekkingsfelt påkrevd

add_filter ('woocommerce_checkout_fields', 'woo_filter_account_checkout_fields');

funksjon woo_filter_account_checkout_fields ($ felt) {
$ felt ['account'] ['account_username'] ['required'] = true;
$ felt ['account'] ['account_password'] ['required'] = true;
$ felt ['account'] ['account_password-2'] ['required'] = true;

returner $ felt;
}

11 - Gi nytt navn til en produktfane

add_filter ('woocommerce_product_tabs', 'woo_rename_tab', 98);
funksjon woo_rename_tab ($ faner) {

$ tabs ['description'] ['title'] = 'Mer info';

returner $ faner;
}

12 - Liste WooCommerce produktkategorier

$ args = matrise (
'nummer' => $ antall,
'orderby' => $ orderby,
'order' => $ ordre,
'hide_empty' => $ hide_empty,
'include' => $ IDer
);

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

$ count = count ($ produkt_kategorier);
if ($ count> 0) {
ekko "";
}

13 - Erstatt tittel på butikksiden

add_filter ('woocommerce_page_title', 'woo_shop_page_title');

funksjon woo_shop_page_title ($ page_title) {

if ('Shop' == $ page_title) {
returner "Min nye tittel";
}
}

14 - Endre en widget-tittel

/ *
* Endre widget-tittel
* /
add_filter ('widget_title', 'woo_widget_title', 10, 3);

funksjon woo_widget_title ($ title, $ instans, $ id_base) {

if ('onsale' == $ id_base) {
returner "Min nye tittel";
}
}

15 - Fjern WooCommerce standardinnstillinger

add_filter ('woocommerce_catalog_settings', 'woo_remove_catalog_options');

funksjon woo_remove_catalog_options ($ catalog) {

ikke-satt ($ katalog [23]); // Trim nuller (nei)
ikke-satt ($ katalog [22]); // 2 desimaler
ikke-satt ($ katalog [21]); // desimal sep (.)
ikke-satt ($ katalog [20]); // tusen september (,)
ikke-satt ($ katalog [19]); // valutaposisjon (til venstre)
ikke-satt ($ katalog [18]); // valutaposisjon (til venstre)
ikke-satt ($ katalog [5]); // ajax legg i handlekurven (nei)

retur $ katalog;
}

16 - Endre "fra" e-postadresse

funksjon woo_custom_wp_mail_from () {
global $ woocommerce;
returner html_entity_decode ('[email protected]');
}
add_filter ('wp_mail_from', 'woo_custom_wp_mail_from', 99);

17 - Avkode fra navn i WooCommerce e-post

funksjon woo_custom_wp_mail_from_name () {
global $ woocommerce;
returner html_entity_decode (get_option ('woocommerce_email_from_name'));
}
add_filter ('wp_mail_from_name', 'woo_custom_wp_mail_from_name', 99);

funksjon woo_custom_wp_mail_from () {
global $ woocommerce;
returner html_entity_decode (get_option ('woocommerce_email_from'));
}
add_filter ('wp_mail_from_name', 'woo_custom_wp_mail_from_name', 99);

18 - Returnerte produkt-ID-er

funksjon woo_get_featured_product_ids () {
// Last inn fra hurtigbufferen
$ featured_product_ids = get_transient ('wc_featured_products');

// Gyldig cache funnet
if (falsk! == $ featured_product_ids)
returner $ featured_product_ids;

$ omtalt = get_posts (matrise (
'post_type' => matrise ('produkt', 'produkt_variasjon'),
'posts_per_page' => -1,
'post_status' => 'publiser',
'meta_query' => matrise (
array (
'nøkkel' => '_synlighet',
'value' => matrise ('katalog', 'synlig'),
'sammenligne' => 'IN'
),
array (
'key' => '_featured',
'verdi' => 'ja'
)
),
'felt' => 'id => overordnet'
));

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

set_transient ('wc_featured_products', $ featured_product_ids);

returner $ featured_product_ids;
}

19 - Legg til tilpasset felt for å redigere adressesiden

// legg til felt for å redigere adressesiden
funksjon woo_add_edit_address_fields ($ felt) {

$ new_fields = matrise (
'date_of_birth' => matrise (
'label' => __ ('Fødselsdato', 'woocommerce'),
'required' => falsk,
'class' => matrise ('form-rad'),
),
);

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

returner $ felt;

}

add_filter ('woocommerce_default_address_fields', 'woo_add_edit_address_fields');

20 - Vis produktkatalogkortkode

funksjon woocommerce_sale_products ($ atts) {

global $ woocommerce_loop;

ekstrakt (shortcode_atts (-matrise (
'per_page' => '12',
'columns' => '4',
'orderby' => 'dato',
'order' => 'desc'
), $ atts));

$ woocommerce_loop ['columns'] = $ kolonner;

$ args = matrise (
'post_type' => 'produkt',
'post_status' => 'publiser',
'ign_sticky_posts' => 1,
'posts_per_page' => $ per_page,
'orderby' => $ orderby,
'order' => $ ordre,
'meta_query' => matrise (
array (
'nøkkel' => '_synlighet',
'value' => matrise ('katalog', 'synlig'),
'sammenligne' => 'IN'
),
array (
'key' => '_sale_price',
'verdi' => 0,
'sammenligne' => '>',
'type' => 'NUMERIC'
)
)
);
query_posts ($ args);
ob_start ();
woocommerce_get_template_part ('loop', 'shop');
wp_reset_query ();

return ob_get_clean ();
}

add_shortcode ('sale_products', 'woocommerce_sale_products');

21 - Har produkter på salg

funksjon woo_have_onsale_products () {

global $ woocommerce;

// Få produkter i salg
$ product_ids_on_sale = array_filter (woocommerce_get_product_ids_on_sale ());

if (! tom ($ product_ids_on_sale)) {
return true;
} annet {
return falsk;
}

}

// Eksempel:
if (woo_have_onsale_products ()) {
ekko 'har salgssalgsprodukter';
} annet {
ekko 'intet salgssalgsprodukt';
}

22 - Angi minimumsordre

add_action ('woocommerce_checkout_process', 'wc_minimum_order_amount');
funksjon wc_minimum_order_amount () {
global $ woocommerce;
$ minimum = 50;
if ($ woocommerce-> cart-> get_cart_total (); < $minimum ) {
$woocommerce->add_error (sprintf ('Du må ha en ordre med minimum% s for å legge inn bestillingen.', $ minimum));
}
}

23 - Bestill etter pris, dato eller tittel på butikksiden

add_filter ('woocommerce_default_catalog_orderby', 'custom_default_catalog_orderby');

funksjon custom_default_catalog_orderby () {
returdato'; // Kan også bruke tittel og pris
}

24 - Viderekoble legg til i handlevogn-knappen til kassen

add_filter ('add_to_cart_redirect', 'redirect_to_checkout');

funksjon omdirigere_til_sjekk ut () {
global $ woocommerce;
$ checkout_url = $ woocommerce-> cart-> get_checkout_url ();
returner $ checkout_url;
}

25 - Legg til e-postmottaker når ordren er fullført

funksjon woo_extra_email_recipient ($ mottaker, $ objekt) {
$ mottaker = $ mottaker. ', [email protected]';
returner $ mottaker;
}
add_filter ('woocommerce_email_recipient_customer_completed_order', 'woo_extra_email_recipient', 10, 2);

Og det er det! Jeg håper du finner ut at disse tekstutdragene er nyttige, de ble testet og fungerer alle bra, men hvis du opplever noen problemer, gi meg beskjed om kommentarfeltet. Ha det gøy! ��

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