Mojich 25 najlepších útržkov WooCommerce pre WordPress

  1. 1. Aktuálne čítanie: Mojich 25 najlepších útržkov WooCommerce pre WordPress
  2. 2. Moje 25 najlepších útržkov WooCommerce pre WordPress, časť 2

Časy letí… Je to už 6 mesiacov, čo som začal pracovať pre WooThemes ako technik podpory na plný úväzok WooCommerce. Počas týchto 6 mesiacov som sa veľa naučil na WooCommerce a veľa som kódoval (čítaj veľa!) útržkov súvisiacich s WooCommerce. WooCommerce je skutočne mocný nástroj a ľahko sa rozširuje. Má veľa háčikov, ktoré sa dajú použiť takmer na všetko, a to robí WooCommerce tak dobrým. Tu je zoznam úryvkov, ktoré som napísal alebo upravil za posledné mesiace; všetky tieto úryvky sa musia vložiť do súboru function.php v priečinku s témou:


1 – Pridajte typ platby do e-mailu s administráciou WooCommerce

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

funkcia add_payment_method_to_admin_new_order ($ order, $ is_admin_email) {
if ($ is_admin_email) {
ozvena

Spôsob platby: '. $ order-> payment_method_title. '

,; } }

2 – predáva produkty na stránku / riadok

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'))) {
function woocommerce_output_upsells () {
woocommerce_upsell_display (3,3); // Zobrazte 3 produkty v riadkoch po 3
}
}

3 – Odstráňte kategórie produktov zo stránky obchodu

add_action ('pre_get_posts', 'custom_pre_get_posts_query');

function custom_pre_get_posts_query ($ q) {

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

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

$ q-> set ('tax_query', pole (pole (
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => array ('color', 'flavour', 'spices', 'vanilla') // // Na stránke obchodu nezobrazovať produkty v týchto kategóriách
'operator' => 'NOT IN'
)));

}

remove_action ('pre_get_posts', 'custom_pre_get_posts_query');

}

4 – Rýchlo preložte ľubovoľný reťazec

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

function translate_text ($ translation) {
$ Přeložené = str_ireplace ('Vybrať a možnosť', 'Vybrať', $ preložené);
návrat $ preložený;
}

5 – Vylúčte kategóriu z miniaplikácie kategórie WooCommerce

add_filter ('woocommerce_product_categories_widget_args', 'woo_product_cat_widget_args');

function woo_product_cat_widget_args ($ cat_args) {

$ cat_args ['vylúčiť'] = array ('16 ');

return $ cat_args;
}

6 – Pridajte k variácii produktu vlastné pole

// Zobraziť polia
add_action ('woocommerce_product_after_variable_attributes', 'variabil_fields', 10, 2);
// JS na pridanie polí pre nové variácie
add_action ('woocommerce_product_after_variable_attributes_js', 'variable_fields_js');
// Uloženie polí variácie
add_action ('woocommerce_process_product_meta_variable', 'variable_fields_process', 10, 1);

function variable_fields ($ loop, $ variation_data) {?>


7 - Nahradiť „Vypredané“ za „predané“

add_filter ('woocommerce_get_availability', 'Availability_filter_func');

funkcia dostupnosti_filter_func ($ dostupnosť)
{
$ dostupnosť ['dostupnosť'] = str_ireplace ('Vypredané', 'predané', $ dostupnosť ['dostupnosť']);
návratnosť $ $;
}

8 - Miesto tlačidla „pridať do košíka“ sa zobrazí „produkt už v košíku“

/ **
* Zmeňte text pridania do košíka na jednotlivých stránkach produktu
* /
add_filter ('woocommerce_product_single_add_to_cart_text', 'woo_custom_cart_button_text');

function woo_custom_cart_button_text () {

globálny $ woocommerce;

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

if (get_the_ID () == $ _product-> id) {
return __ („Už v košíku - Pridať znova?“, „woocommerce“);
}
}

return __ ('Pridať do košíka', 'woocommerce');
}

/ **
* Zmeňte text pridania do košíka v archívoch produktu
* /
add_filter ('add_to_cart_text', 'woo_archive_custom_cart_button_text');

function woo_archive_custom_cart_button_text () {

globálny $ woocommerce;

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

if (get_the_ID () == $ _product-> id) {
návrat __ („Už v košíku“, „woocommerce“);
}
}

return __ ('Pridať do košíka', 'woocommerce');
}

9 - Skryť počet produktov v zobrazení kategórií

add_filter ('woocommerce_subcategory_count_html', 'woo_remove_category_products_count');

function woo_remove_category_products_count () {
return;
}

10 - Povinné vyplnenie políčok pre účet

add_filter ('woocommerce_checkout_fields', 'woo_filter_account_checkout_fields');

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

návratové polia $;
}

11 - Premenovať kartu produktu

add_filter ('woocommerce_product_tabs', 'woo_rename_tab', 98);
funkcia woo_rename_tab ($ tabs) {

$ tabs ['description'] ['title'] = 'Viac informácií';

návrat karty $;
}

12 - Zoznam kategórií produktov WooCommerce

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

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

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

13 - Nahraďte názov stránky v obchode

add_filter ('woocommerce_page_title', 'woo_shop_page_title');

function woo_shop_page_title ($ page_title) {

if ('Shop' == $ page_title) {
návrat "Môj nový názov";
}
}

14 - Zmena názvu miniaplikácie

/ *
* Zmena názvu miniaplikácie
* /
add_filter ('widget_title', 'woo_widget_title', 10, 3);

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

if ('onsale' == $ id_base) {
návrat "Môj nový názov";
}
}

15 - Odstráňte predvolené nastavenia WooCommerce

add_filter ('woocommerce_catalog_settings', 'woo_remove_catalog_options');

function woo_remove_catalog_options ($ catalog) {

unset ($ katalóg [23]); // Orezať nuly (nie)
unset ($ katalóg [22]); // 2 desatinné miesta
unset ($ katalóg [21]); // desatinné sep (.)
unset ($ katalóg [20]); // tisíc sep (,)
unset ($ katalóg [19]); // menová pozícia (vľavo)
unset ($ katalóg [18]); // menová pozícia (vľavo)
unset ($ katalóg [5]); // ajax pridať do košíka (nie)

návrat $ katalóg;
}

16 - Zmeňte e-mailovú adresu „z“

funkcia woo_custom_wp_mail_from () {
globálny $ woocommerce;
return html_entity_decode ('[email protected]');
}
add_filter ('wp_mail_from', 'woo_custom_wp_mail_from', 99);

17 - Dekódujte meno v e-maile WooCommerce

funkcia woo_custom_wp_mail_from_name () {
globálny $ woocommerce;
návrat html_entity_decode (get_option ('woocommerce_email_from_name'));
}
add_filter ('wp_mail_from_name', 'woo_custom_wp_mail_from_name', 99);

funkcia woo_custom_wp_mail_from () {
globálny $ woocommerce;
návrat html_entity_decode (get_option ('woocommerce_email_from'));
}
add_filter ('wp_mail_from_name', 'woo_custom_wp_mail_from_name', 99);

18 - Identifikátory vrátených produktov

function woo_get_featured_product_ids () {
// Načítanie z vyrovnávacej pamäte
$ featured_product_ids = get_transient ('wc_featured_products');

// Nájdená platná vyrovnávacia pamäť
if (false! == $ featured_product_ids)
return $ featured_product_ids;

$ featured = get_posts (array (
'post_type' => array ('product', 'product_variation'),
'posts_per_page' => -1,
'post_status' => 'publikovať',
'meta_query' => pole (
pole (
'key' => '_visibility',
'value' => array ('catalog', 'visible'),
'porovnať' => 'IN'
),
pole (
'key' => '_featured',
'value' => 'yes'
)
),
'fields' => 'id => parent'
));

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

return $ featured_product_ids;
}

19 - Pridať vlastné pole na úpravu adresy

// pridať polia na úpravu stránky s adresou
function woo_add_edit_address_fields ($ fields) {

$ new_fields = array (
'date_of_birth' => array (
'label' => __ ('Dátum narodenia', 'woocommerce'),
'required' => false,
'class' => array ('form-row'),
),
);

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

návratové polia $;

}

add_filter ('woocommerce_default_address_fields', 'woo_add_edit_address_fields');

20 - Zobraziť skrátený kód onsale produktov

function woocommerce_sale_products ($ atts) {

global $ woocommerce_loop;

extrakt (shortcode_atts (array (
'per_page' => '12',
'stĺpce' => '4',
'orderby' => 'date',
'order' => 'desc'
), $ atts));

$ woocommerce_loop ['column'] = $ column;

$ args = array (
'post_type' => 'product',
'post_status' => 'publikovať',
'ignorehlasy_posts' => 1,
'posts_per_page' => $ per_page,
'orderby' => $ orderby,
'order' => $ order,
'meta_query' => pole (
pole (
'key' => '_visibility',
'value' => array ('catalog', 'visible'),
'porovnať' => 'IN'
),
pole (
'key' => '_sale_price',
'value' => 0,
'porovnať' => '>',
'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 - Majte produkty na predaj

function woo_have_onsale_products () {

globálny $ woocommerce;

// Získajte výrobky na predaj
$ product_ids_on_sale = array_filter (woocommerce_get_product_ids_on_sale ());

if (! empty ($ product_ids_on_sale)) {
návrat true;
} else {
návrat nepravdivý;
}

}

// Príklad:
if (woo_have_onsale_products ()) {
echo „má produkty na predaj“;
} else {
echo „žiadny predajný produkt“;
}

22 - Nastavte minimálnu sumu objednávky

add_action ('woocommerce_checkout_process', 'wc_minimum_order_amount');
function wc_minimum_order_amount () {
globálny $ woocommerce;
$ minimum = 50;
if ($ woocommerce-> cart-> get_cart_total (); < $minimum ) {
$woocommerce->add_error (sprintf („Na vykonanie objednávky musíte mať príkaz s minimom% s.“, $ minimum));
}
}

23 - Objednávka podľa ceny, dátumu alebo názvu na stránke obchodu

add_filter ('woocommerce_default_catalog_orderby', 'custom_default_catalog_orderby');

function custom_default_catalog_orderby () {
dátum návratu'; // Môže tiež použiť názov a cenu
}

24 - Tlačidlo Presmerovať pridať do košíka na stránku pokladne

add_filter ('add_to_cart_redirect', 'redirect_to_checkout');

function redirect_to_checkout () {
globálny $ woocommerce;
$ checkout_url = $ woocommerce-> cart-> get_checkout_url ();
return $ checkout_url;
}

25 - Po dokončení objednávky pridajte príjemcu e-mailu

funkcia woo_extra_email_recipient ($ recipient, $ object) {
$ recipient = $ recipient. ', [email protected]';
návrat $ príjemca;
}
add_filter ('woocommerce_email_recipient_customer_completed_order', 'woo_extra_email_recipient', 10, 2);

A ... to je všetko! Dúfam, že vám tieto útržky budú užitočné, všetky boli testované a všetky fungujú dobre, ale ak sa vyskytnú nejaké problémy, dajte mi vedieť, prosím, časť s komentármi. Bavte sa! ��

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