Mina 25 bästa WooCommerce-utdrag för WordPress

  1. 1. Läser för tillfället: Mina 25 bästa WooCommerce-utdrag för WordPress
  2. 2. Mina 25 bästa WooCommerce-utdrag för WordPress del 2

Tiderna flyger … Det har gått 6 månader sedan jag började arbeta för WooTememen som WooCommerce på heltidstjänsttekniker. Under dessa 6 månader lärde jag mig mycket på WooCommerce och jag kodade mycket (läs mycket!) av WooCommerce-relaterade utdrag. Egentligen är WooCommerce verkligen kraftfullt verktyg och lätt att utöka. Den har många krokar som kan användas för nästan allt, och det är det som gör WooCommerce så bra. Här är en lista över utdrag som jag skrev eller anpassade under de senaste månaderna; alla dessa utdrag måste klistras in i filen features.php i din temamapp:


1 – Lägg till betalningstyp till WooCommerce Admin Email

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

funktion add_payment_method_to_admin_new_order ($ order, $ is_admin_email) {
if ($ is_admin_email) {
echo '

Betalningsmetod: '. $ order-> payment_method_title. '

'; } }

2 – Up-säljer produkter per sida / per rad

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); // Visa 3 produkter i rader av 3
}
}

3 – Ta bort produktkategorier från butikssidan

add_action ('pre_get_posts', 'custom_pre_get_posts_query');

funktion custom_pre_get_posts_query ($ q) {

om (! $ q-> is_main_query ()) returnerar;
om (! $ q-> is_post_type_archive ()) returnerar;

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

$ q-> set ('tax_query', array (array (
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => array ('färg', 'smak', 'kryddor', 'vanilj'), // Visa inte produkter i dessa kategorier på butikssidan
'operator' => 'NOT IN'
)));

}

remove_action ('pre_get_posts', 'custom_pre_get_posts_query');

}

4 – Översätt snabbt alla strängar

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

funktion translate_text ($ översatt) {
$ translated = str_ireplace ('Välj och alternativ', 'Välj', $ översatt);
returnera $ översatt;
}

5 – Uteslut en kategori från WooCommerce-kategori-widgeten

add_filter ('woocommerce_product_category_widget_args', 'woo_product_cat_widget_args');

funktion woo_product_cat_widget_args ($ cat_args) {

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

returnera $ cat_args;
}

6 – Lägg till ett anpassat fält till en produktvariant

// Visa fält
add_action ('woocommerce_product_after_variable_attribut', 'variable_fields', 10, 2);
// JS för att lägga till fält för nya varianter
add_action ('woocommerce_product_after_variable_attribut_js', 'variabel_fields_js');
// Spara variationfält
add_action ('woocommerce_process_product_meta_variable', 'variable_fields_process', 10, 1);

funktion variabel_fält ($ loop, $ variation_data) {?>


7 - Byt ut "Ej i lager" av "såld"

add_filter ('woocommerce_get_available', 'tillgänglighet_filter_func');

funktion tillgänglighet_filter_func ($ tillgänglighet)
{
$ tillgänglighet ['tillgänglighet'] = str_ireplace ('Slut i lager', 'Säljs', $ tillgänglighet ['tillgänglighet']);
returnera $ tillgänglighet;
}

8 - Visa "produkt som redan finns i kundvagnen" istället för knappen "Lägg till i kundvagnen"

/ **
* Ändra texten Lägg till i kundvagnen på enstaka produktsidor
* /
add_filter ('woocommerce_product_single_add_to_cart_text', 'woo_custom_cart_button_text');

funktion woo_custom_cart_button_text () {

global $ woocommerce;

förhand ($ woocommerce-> cart-> get_cart () som $ cart_item_key => $ -värden) {
$ _product = $ värden ['data'];

if (get_the_ID () == $ _product-> id) {
returnera __ ('Redan i kundvagn - Lägg till igen?', 'woocommerce');
}
}

returnera __ ('Lägg till i kundvagnen', 'woocommerce');
}

/ **
* Ändra lägg till i kundvagnens text i produktarkiv
* /
add_filter ('add_to_cart_text', 'woo_archive_custom_cart_button_text');

funktion woo_archive_custom_cart_button_text () {

global $ woocommerce;

förhand ($ woocommerce-> cart-> get_cart () som $ cart_item_key => $ -värden) {
$ _product = $ värden ['data'];

if (get_the_ID () == $ _product-> id) {
returnera __ ('Redan i kundvagn', 'woocommerce');
}
}

returnera __ ('Lägg till i kundvagnen', 'woocommerce');
}

9 - Dölj produkter räknar i kategorivyn

add_filter ('woocommerce_subcategory_count_html', 'woo_remove_category_products_count');

funktion woo_remove_category_products_count () {
lämna tillbaka;
}

10 - Gör kontoutcheckningsfält obligatoriska

add_filter ('woocommerce_checkout_fields', 'woo_filter_account_checkout_fields');

funktion woo_filter_account_checkout_fields ($ fält) {
$ field ['account'] ['account_username'] ['required'] = true;
$ field ['account'] ['account_password'] ['required'] = true;
$ field ['account'] ['account_password-2'] ['required'] = true;

returnera $ fält;
}

11 - Byt namn på en produktflik

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

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

returnera $ flikar;
}

12 - Lista WooCommerce-produktkategorier

$ args = array (
'number' => $ nummer,
'orderby' => $ orderby,
'order' => $ order,
'hide_empty' => $ hide_empty,
'include' => $ id
);

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

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

13 - Byt ut butiksidetitel

add_filter ('woocommerce_page_title', 'woo_shop_page_title');

funktion woo_shop_page_title ($ page_title) {

if ('Shop' == $ page_title) {
returnera "Min nya titel";
}
}

14 - Ändra en widgettitel

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

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

if ('onsale' == $ id_base) {
returnera "Min nya titel";
}
}

15 - Ta bort WooCommerce standardinställningar

add_filter ('woocommerce_catalog_settings', 'woo_remove_catalog_options');

funktion woo_remove_catalog_options ($ catalog) {

unset ($ katalog [23]); // Trim nollor (nej)
unset ($ katalog [22]); // 2 decimaler
unset ($ katalog [21]); // decimal september (.)
unset ($ katalog [20]); // tusen september (,)
unset ($ katalog [19]); // valutaposition (vänster)
unset ($ katalog [18]); // valutaposition (vänster)
unset ($ katalog [5]); // ajax lägg till i varukorgen (nej)

returnera $ katalog;
}

16 - Ändra "från" e-postadress

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

17 - Avkoda från namn i WooCommerce-e-post

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

18 - Återkalla produkter med id

funktion woo_get_featured_product_ids () {
// Ladda från cache
$ featured_product_ids = get_transient ('wc_featured_products');

// Giltig cache hittades
if (falskt! == $ featured_product_ids)
returnera $ featured_product_ids;

$ featured = get_posts (array (
'post_type' => array ('produkt', 'product_variation'),
'posts_per_page' => -1,
'post_status' => 'publicera',
'meta_query' => array (
array (
'key' => '_visibility',
'value' => array ('katalog', 'synlig'),
'jämför' => 'IN'
),
array (
'key' => '_featured',
'värde' => 'ja'
)
),
'fält' => 'id => förä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);

returnera $ featured_product_ids;
}

19 - Lägg till anpassat fält för att redigera adress

// lägg till fält för att redigera adresssidan
funktion woo_add_edit_address_fields ($ fält) {

$ new_fields = array (
'date_of_birth' => matris (
'label' => __ ('Födelsedatum', 'woocommerce'),
'required' => falsk,
'class' => array ('form-rad'),
),
);

$ fält = array_merge ($ fält, $ new_fields);

returnera $ fält;

}

add_filter ('woocommerce_default_address_fields', 'woo_add_edit_address_fields');

20 - Visa kortkod för produktkatalog

funktion woocommerce_sale_products ($ atts) {

global $ woocommerce_loop;

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

$ woocommerce_loop ['columns'] = $ kolumner;

$ args = array (
'post_type' => 'produkt',
'post_status' => 'publicera',
'ign_sticky_posts' => 1,
'posts_per_page' => $ per_page,
'orderby' => $ orderby,
'order' => $ order,
'meta_query' => array (
array (
'key' => '_visibility',
'value' => array ('katalog', 'synlig'),
'jämför' => 'IN'
),
array (
'key' => '_sale_price',
'värde' => 0,
'jämför' => '>',
'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å försäljning

funktion woo_have_onsale_products () {

global $ woocommerce;

// Få produkter till försäljning
$ product_ids_on_sale = array_filter (woocommerce_get_product_ids_on_sale ());

if (! tom ($ product_ids_on_sale)) {
tillbaka sant;
} annat {
returnera falskt;
}

}

// Exempel:
if (woo_have_onsale_products ()) {
eko "har försäljningsprodukter";
} annat {
eko "ingen försäljningsprodukt";
}

22 - Ställ in minsta orderbelopp

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 måste ha en beställning med minst% s för att placera din beställning.', $ minimum));
}
}

23 - Beställ efter pris, datum eller titel på butikssidan

add_filter ('woocommerce_default_catalog_orderby', 'custom_default_catalog_orderby');

funktion custom_default_catalog_orderby () {
Återlämningsdatum'; // Kan också använda titel och pris
}

24 - Omdirigera knappen Lägg till i kundvagnen till kassasidan

add_filter ('add_to_cart_redirect', 'redirect_to_checkout');

funktion omdirigera_till_checkout () {
global $ woocommerce;
$ checkout_url = $ woocommerce-> cart-> get_checkout_url ();
returnera $ checkout_url;
}

25 - Lägg till e-postmottagare när beställningen är klar

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

Och det är allt! Jag hoppas att du tycker att dessa utdrag är användbara, de testades alla och alla fungerar bra, men om du upplever några problem, låt mig veta kommentarerna. Ha så kul! ��

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