Moje 25 nejlepších WooCommerce úryvky pro WordPress

  1. 1. Aktuálně čte: Moje 25 nejlepších WooCommerce úryvky pro WordPress
  2. 2. Moje 25 nejlepších WooCommerce úryvky pro WordPress část 2

Časy letí… Je to 6 měsíců, co jsem začal pracovat pro WooThemes jako technik podpory na plný úvazek WooCommerce. Během těchto 6 měsíců jsem se hodně naučil na WooCommerce a hodně jsem kódoval (přečtěte si mnoho!) úryvků souvisejících s WooCommerce. Ve skutečnosti je WooCommerce opravdu mocný nástroj a snadno rozšiřitelný. Má mnoho háčků, které lze použít téměř na všechno, a to dělá WooCommerce tak dobrým. Zde je seznam úryvků, které jsem napsal nebo upravil během posledních měsíců; všechny tyto úryvky musí být vloženy do souboru function.php ve složce motivu:


1 – Přidejte typ platby do e-mailu se správcem WooCommerce

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

funkce add_payment_method_to_admin_new_order ($ order, $ is_admin_email) {
if ($ is_admin_email) {
ozvěna

Způsob platby: '. $ order-> payment_method_title. '

'; } }

2 – Up-prodává produkty na stránku / na řádek

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 řádcích po 3
}
}

3 – Odstraňte kategorie produktů ze 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' => 'slimák',
'terms' => array ('color', 'flavour', 'spices', 'vanilla') // // Nezobrazovat produkty v těchto kategoriích na stránce obchodu
'operator' => 'NOT IN'
)));

}

remove_action ('pre_get_posts', 'custom_pre_get_posts_query');

}

4 – Rychle přeložte jakýkoli řetězec

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

function translate_text ($ translation) {
$ translation = str_ireplace ('Choose and option', 'Select', $ translation);
návrat $ přeloženo;
}

5 – Vyloučení kategorie z widgetu kategorie WooCommerce

add_filter ('woocommerce_product_categories_widget_args', 'woo_product_cat_widget_args');

funkce woo_product_cat_widget_args ($ cat_args) {

$ cat_args ['vyloučit'] = array ('16 ');

návrat $ cat_args;
}

6 – Přidání vlastního pole do variace produktu

// Zobrazit pole
add_action ('woocommerce_product_after_variable_attributes', 'variabilní_fields', 10, 2);
// JS pro přidání polí pro nové varianty
add_action ('woocommerce_product_after_variable_attributes_js', 'variabilní_fields_js');
// Uložení variačních polí
add_action ('woocommerce_process_product_meta_variable', 'variabilní_fields_process', 10, 1);

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


7 - Nahraďte „Vyprodáno“ za „prodáno“

add_filter ('woocommerce_get_availability', 'Availability_filter_func');

funkce availability_filter_func ($ dostupnost)
{
$ dostupnost ['dostupnost'] = str_ireplace ('Vyprodáno', 'prodáno', $ dostupnost ['dostupnost']);
návratnost $ $;
}

8 - Místo tlačítka „přidat do košíku“ zobrazit „produkt již v košíku“

/ **
* Změňte text přidání do košíku na jednotlivých stránkách produktu
* /
add_filter ('woocommerce_product_single_add_to_cart_text', 'woo_custom_cart_button_text');

funkce woo_custom_cart_button_text () {

globální $ woocommerce;

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

if (get_the_ID () == $ _product-> id) {
return __ ('Už v košíku - Add Again?', 'woocommerce');
}
}

return __ ('Přidat do košíku', 'woocommerce');
}

/ **
* Změňte text přidání do košíku v archivech produktů
* /
add_filter ('add_to_cart_text', 'woo_archive_custom_cart_button_text');

funkce woo_archive_custom_cart_button_text () {

globální $ woocommerce;

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

if (get_the_ID () == $ _product-> id) {
return __ ('Již v košíku', 'woocommerce');
}
}

return __ ('Přidat do košíku', 'woocommerce');
}

9 - Skrýt počet produktů v zobrazení kategorií

add_filter ('woocommerce_subcategory_count_html', 'woo_remove_category_products_count');

funkce woo_remove_category_products_count () {
vrátit se;
}

10 - Vyžadujte vyplnění polí pro účet

add_filter ('woocommerce_checkout_fields', 'woo_filter_account_checkout_fields');

funkce 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á pole $;
}

11 - Přejmenujte kartu produktu

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

$ tabs ['description'] ['title'] = 'Více informací';

návrat $ $;
}

12 - Seznam kategorií produktů 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) {
echo "";
}

13 - Nahraďte název stránky obchodu

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ázev";
}
}

14 - Změna názvu widgetu

/ *
* Změna názvu widgetu
* /
add_filter ('widget_title', 'woo_widget_title', 10, 3);

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

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

15 - Odebrat výchozí nastavení WooCommerce

add_filter ('woocommerce_catalog_settings', 'woo_remove_catalog_options');

funkce woo_remove_catalog_options ($ catalog) {

unset ($ catalog [23]); // Oříznout nuly (ne)
unset ($ catalog [22]); // 2 desetinná místa
unset ($ catalog [21]); // desetinné sep (.)
unset ($ catalog [20]); // tisíc sep (,)
unset ($ catalog [19]); // měnová pozice (vlevo)
unset ($ catalog [18]); // měnová pozice (vlevo)
unset ($ catalog [5]); // ajax přidat do košíku (ne)

návratový katalog $;
}

16 - Změňte e-mailovou adresu „z“

funkce woo_custom_wp_mail_from () {
globální $ woocommerce;
návrat html_entity_decode ('[email protected]');
}
add_filter ('wp_mail_from', 'woo_custom_wp_mail_from', 99);

17 - Dekódujte jméno v e-mailu WooCommerce

funkce woo_custom_wp_mail_from_name () {
globální $ 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);

funkce woo_custom_wp_mail_from () {
globální $ 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 - Vracení idů doporučených produktů

funkce woo_get_featured_product_ids () {
// Načíst z mezipaměti
$ featured_product_ids = get_transient ('wc_featured_products');

// Nalezena platná mezipaměť
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' => 'publikovat',
'meta_query' => pole (
pole (
'key' => '_visibility',
'value' => array ('catalog', 'visible'),
'porovnání' => '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 - Přidat vlastní pole pro úpravu stránky s adresou

// přidat pole pro úpravu stránky s adresou
funkce woo_add_edit_address_fields ($ fields) {

$ new_fields = array (
'date_of_birth' => array (
'label' => __ ('Datum narození', 'woocommerce'),
'required' => false,
'class' => array ('form-row'),
),
);

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

návratová pole $;

}

add_filter ('woocommerce_default_address_fields', 'woo_add_edit_address_fields');

20 - Zobrazit krátký kód katalogu produktů onsale

function woocommerce_sale_products ($ atts) {

global $ woocommerce_loop;

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

$ woocommerce_loop ['sloupce'] = $ sloupce;

$ args = array (
'post_type' => 'product',
'post_status' => 'publikovat',
'ignoreanžy_posts' => 1,
'posts_per_page' => $ per_page,
'orderby' => $ orderby,
'order' => $ order,
'meta_query' => pole (
pole (
'key' => '_visibility',
'value' => array ('catalog', 'visible'),
'porovnání' => 'IN'
),
pole (
'key' => '_sale_price',
'value' => 0,
'porovnání' => '>',
'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 - Mějte produkty na prodej

function woo_have_onsale_products () {

globální $ woocommerce;

// Získejte výrobky na prodej
$ product_ids_on_sale = array_filter (woocommerce_get_product_ids_on_sale ());

if (! empty ($ product_ids_on_sale)) {
návrat true;
} jinde {
návrat false;
}

}

// Příklad:
if (woo_have_onsale_products ()) {
echo „mají produkty na prodej“;
} jinde {
echo „žádný prodejní produkt“;
}

22 - Nastavte minimální částku objednávky

add_action ('woocommerce_checkout_process', 'wc_minimum_order_amount');
funkce wc_minimum_order_amount () {
globální $ woocommerce;
$ minimum = 50;
if ($ woocommerce-> cart-> get_cart_total (); < $minimum ) {
$woocommerce->add_error (sprintf ('Musíte zadat objednávku s minimem% s pro zadání objednávky.', $ minimum));
}
}

23 - Objednávka podle ceny, data nebo názvu na stránce obchodu

add_filter ('woocommerce_default_catalog_orderby', 'custom_default_catalog_orderby');

function custom_default_catalog_orderby () {
datum návratu'; // Může také použít název a cenu
}

24 - Tlačítko přesměrování přidat do košíku na stránku pokladny

add_filter ('add_to_cart_redirect', 'redirect_to_checkout');

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

25 - Po dokončení objednávky přidejte příjemce e-mailu

funkce woo_extra_email_recipient ($ recipient, $ object) {
$ recipient = $ recipient. ', [email protected]';
vrátit $ příjemce;
}
add_filter ('woocommerce_email_recipient_customer_completed_order', 'woo_extra_email_recipient', 10, 2);

A to je vše! Doufám, že vám tyto úryvky budou užitečné, všechny byly testovány a všechny fungují dobře, ale pokud narazíte na nějaké problémy, dejte mi prosím vědět sekci komentářů. Bavte se! ��

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