Mine 25 bedste WooCommerce-kodestykker til WordPress

  1. 1. I øjeblikket læser: Mine 25 bedste WooCommerce-kodestykker til WordPress
  2. 2. Mine 25 bedste WooCommerce-uddrag til WordPress Del 2

Tiden flyver … Det er gået 6 måneder, siden jeg begyndte at arbejde for WooThemes som WooCommerce på fuld tid supporttekniker. I løbet af disse 6 måneder lærte jeg meget på WooCommerce og jeg kodede meget (læs en masse!) af WooCommerce-relaterede uddrag. Faktisk er WooCommerce virkelig et kraftfuldt værktøj og let at udvide. Det har mange kroge, der kan bruges til næsten alt, og det er det, der gør WooCommerce så god. Her er en liste over uddrag, som jeg skrev eller tilpassede i løbet af de sidste måneder; alle disse uddrag skal indsættes i filen features.php i din temamappe:


1 – Føj betalingstype til WooCommerce e-mail-administrator

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

funktion add_payment_method_to_admin_new_order ($ ordre, $ is_admin_email) {
if ($ er_admin_email) {
ekko '

Betalingsmetode: '. $ ordre-> payment_method_title. '

'; } }

2 – Up-sælger produkter pr. Side / pr. 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')) {
funktion woocommerce_output_upsells () {
woocommerce_upsell_display (3,3); // Vis 3 produkter i rækker af 3
}
}

3 – Fjern produktkategorier fra butiksiden

add_action ('pre_get_posts', 'custom_pre_get_posts_query');

funktion tilpasset_pre_get_posts_query ($ q) {

hvis (! $ q-> is_main_query ()) vender tilbage;
hvis (! $ q-> is_post_type_archive ()) vender tilbage;

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

$ q-> sæt ('tax_query', array (array (
'taxonomy' => 'product_cat',
'felt' => 'slug',
'terms' => matrix ('farve', 'smag', 'krydderier', 'vanilje'), // Vis ikke produkter i disse kategorier på shoppingsiden
'operator' => 'NOT IN'
)));

}

remove_action ('pre_get_posts', 'custom_pre_get_posts_query');

}

4 – Oversæt hurtigt en hvilken som helst streng

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

funktion translate_text ($ oversat) {
$ translated = str_ireplace ('Vælg og vælg', 'Vælg', $ oversat);
returnerer $ oversat;
}

5 – Ekskluder en kategori fra WooCommerce-kategori-widget

add_filter ('woocommerce_product_category_widget_args', 'woo_product_cat_widget_args');

funktion woo_product_cat_widget_args ($ cat_args) {

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

returner $ cat_args;
}

6 – Føj et brugerdefineret felt til en produktvariation

// Visningsfelter
add_action ('woocommerce_product_after_variable_attributter', 'variable_fields', 10, 2);
// JS for at tilføje felter til nye variationer
add_action ('woocommerce_product_after_variable_attribut_js', 'variable_fields_js');
// Gem variationfelter
add_action ('woocommerce_process_product_meta_variable', 'variable_fields_process', 10, 1);

Funktionsvariabel_felter ($ loop, $ variation_data) {?>


7 - Udskift "Udsolgt" med "solgt"

add_filter ('woocommerce_get_available', 'tilgængelighed_filter_func');

funktion tilgængelighed_filter_func ($ tilgængelighed)
{
$ tilgængelighed ['tilgængelighed'] = str_ireplace ('Udsolgt', 'Solgt', $ Tilgængelighed ['Tilgængelighed']);
returner $ tilgængelighed;
}

8 - Vis "produkt, der allerede er i indkøbskurv" i stedet for "Tilføj til indkøbskurv" -knap

/ **
* Skift tilføj til indkøbskurv tekst på enkelt produktsider
* /
add_filter ('woocommerce_product_single_add_to_cart_text', 'woo_custom_cart_button_text');

funktion woo_custom_cart_button_text () {

global $ woocommerce;

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

if (get_the_ID () == $ _product-> id) {
return __ ('Allerede i indkøbskurv - Tilføj igen?', 'woocommerce');
}
}

return __ ('Føj til indkøbskurv', 'woocommerce');
}

/ **
* Skift tilføj til indkøbskurv i produktarkiver
* /
add_filter ('add_to_cart_text', 'woo_archive_custom_cart_button_text');

funktion woo_archive_custom_cart_button_text () {

global $ woocommerce;

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

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

return __ ('Føj til indkøbskurv', 'woocommerce');
}

9 - Skjul tæller af produkter i kategorivisning

add_filter ('woocommerce_subcategory_count_html', 'woo_remove_category_products_count');

funktion woo_remove_category_products_count () {
Vend tilbage;
}

10 - Foretag kontoudtjekningsfelter krævet

add_filter ('woocommerce_checkout_fields', 'woo_filter_account_checkout_fields');

funktion woo_filter_account_checkout_fields ($ felter) {
$ felter ['konto'] ['account_username'] ['required'] = true;
$ felter ['konto'] ['account_password'] ['required'] = true;
$ felter ['konto'] ['account_password-2'] ['required'] = true;

returner $ felter;
}

11 - Omdøb en produktfane

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

$ tabs ['beskrivelse'] ['title'] = 'Mere info';

returner $ faner;
}

12 - Liste WooCommerce produktkategorier

$ args = matrix (
'nummer' => $ antal,
'orderby' => $ orderby,
'order' => $ ordre,
'hide_empty' => $ hide_empty,
'include' => $ id'er
);

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

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

13 - Udskift titel på butiksiden

add_filter ('woocommerce_page_title', 'woo_shop_page_title');

funktion woo_shop_page_title ($ page_title) {

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

14 - Skift en widget-titel

/ *
* Skift widget-titel
* /
add_filter ('widget_title', 'woo_widget_title', 10, 3);

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

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

15 - Fjern WooCommerce standardindstillinger

add_filter ('woocommerce_catalog_settings', 'woo_remove_catalog_options');

funktion woo_remove_catalog_options ($ catalog) {

frakoblet ($ katalog [23]); // Trim nuller (nej)
frakoblet ($ katalog [22]); // 2 decimaler
frakoblet ($ katalog [21]); // decimal sep (.)
frakoblet ($ katalog [20]); // tusind september (,)
frakoblet ($ katalog [19]); // valutaposition (venstre)
frakoblet ($ katalog [18]); // valutaposition (venstre)
frakoblet ($ katalog [5]); // ajax tilføj til indkøbskurv (nej)

retur $ katalog;
}

16 - Skift "fra" e-mail-adresse

funktion 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 - Afkode fra navn i WooCommerce e-mail

funktion 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);

funktion 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 - Returner med produkt-id'er

funktion woo_get_featured_product_ids () {
// Indlæs fra cache
$ featured_product_ids = get_transient ('wc_featured_products');

// Gyldig cache fundet
if (falsk! == $ featured_product_ids)
returnere $ featured_product_ids;

$ featured = get_posts (matrix (
'post_type' => matrix ('produkt', 'produkt_variation'),
'posts_per_page' => -1,
'post_status' => 'udgive',
'meta_query' => matrix (
array (
'key' => '_visibility',
'value' => matrix ('katalog', 'synlig'),
'sammenligne' => 'IN'
),
array (
'key' => '_featured',
'value' => 'ja'
)
),
'felter' => 'id => forælder'
));

$ 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);

returnere $ featured_product_ids;
}

19 - Tilføj brugerdefineret felt for at redigere adressesiden

// tilføj felter for at redigere adressesiden
funktion woo_add_edit_address_fields ($ felter) {

$ new_fields = array (
'date_of_birth' => matrix (
'label' => __ ('Fødselsdato', 'woocommerce'),
'required' => falsk,
'class' => array ('form-række'),
),
);

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

returner $ felter;

}

add_filter ('woocommerce_default_address_fields', 'woo_add_edit_address_fields');

20 - Vis kort for kode til salg af produkter

funktion woocommerce_sale_products ($ atts) {

global $ woocommerce_loop;

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

$ woocommerce_loop ['columns'] = $ kolonner;

$ args = matrix (
'post_type' => 'produkt',
'post_status' => 'udgive',
'ign_sticky_posts' => 1,
'posts_per_page' => $ per_page,
'orderby' => $ orderby,
'order' => $ ordre,
'meta_query' => matrix (
array (
'key' => '_visibility',
'value' => matrix ('katalog', 'synlig'),
'sammenligne' => 'IN'
),
array (
'key' => '_sale_price',
'værdi' => 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 til salg

funktion woo_have_onsale_products () {

global $ woocommerce;

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

hvis (! tom ($ product_ids_on_sale)) {
vende tilbage sandt;
} andet {
vende tilbage falsk;
}

}

// Eksempel:
if (woo_have_onsale_products ()) {
ekko 'har produkter til salg';
} andet {
ekko 'intet salgssalgsprodukt';
}

22 - Indstil minimum ordremængde

add_action ('woocommerce_checkout_process', 'wc_minimum_order_amount');
funktion wc_minimum_order_amount () {
global $ woocommerce;
$ minimum = 50;
if ($ woocommerce-> cart-> get_cart_total (); < $minimum ) {
$woocommerce->add_error (sprintf ('Du skal have en ordre med mindst% s for at placere din ordre.', $ minimum));
}
}

23 - Bestil efter pris, dato eller titel på butiksiden

add_filter ('woocommerce_default_catalog_orderby', 'custom_default_catalog_orderby');

funktion custom_default_catalog_orderby () {
Retur dato'; // Kan også bruge titel og pris
}

24 - Omdiriger knappen Tilføj til indkøbskurv til kassen

add_filter ('add_to_cart_redirect', 'redirect_to_checkout');

funktion omdirigering_til_checkout () {
global $ woocommerce;
$ checkout_url = $ woocommerce-> cart-> get_checkout_url ();
returner $ checkout_url;
}

25 - Tilføj e-mail-modtager, når ordren er afsluttet

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

Og det er det! Jeg håber, at du finder disse uddrag nyttige, de blev alle testet, og de fungerer alle fint, men hvis du oplever problemer, så fortæl mig kommentarafsnittet. Hav det sjovt! ��

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