A WordPress 25 legjobb WooCommerce-kivonatom

  1. 1. Jelenleg olvas: A WordPress 25 legjobb WooCommerce-kivonatom
  2. 2. A WordPress 2. részének 25 legjobb WooCommerce fragmentuma

A Times repül … 6 hónap telt el, amikor a WooThemesnél dolgoztam, mint WooCommerce teljes munkaidős támogató technikus. Ez a 6 hónap alatt sokat tanultam a WooCommerce-en, és sokat kódoltam (olvastam nagyon!) a WooCommerce kapcsolódó kivonataiból. Valójában a WooCommerce nagyon hatékony eszköz és könnyen bővíthető. Számos horoggal rendelkezik, amelyek szinte mindenhez felhasználhatók, és ez teszi a WooCommerce olyan jót. Itt található a kivonatok listája, amelyeket az elmúlt hónapokban írtam vagy adaptáltam; ezeket a kivonatokat be kell illeszteni a function.php fájlba a témamappában:


1 – Adjon hozzá fizetési módot a WooCommerce adminisztrátori e-mailhez

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

add_payment_method_to_admin_new_order függvény ($ order, $ is_admin_email) {
if ($ is_admin_email) {
visszhang ”

Fizetési mód: ” $ order-> payment_method_title. '

„ } }

2 – Up-up termékek / oldal / sor

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

if (! function_existing ('woocommerce_output_upsells'))) {
funkció woocommerce_output_upsells () {
woocommerce_upsell_display (3,3); // 3 terméket jelenítsen meg 3 sorban
}
}

3 – Távolítsa el a termékkategóriákat az üzlet oldaláról

add_action ('pre_get_posts', 'custom_pre_get_posts_query');

custom_pre_get_posts_query függvény ($ q) {

if (! $ q-> is_main_query ()) visszatérés;
if (! $ q-> is_post_type_archive ()) return;

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

$ q-> set ('tax_query', tömb (tömb (
'taxonómia' => 'termék_maga',
'mező' => 'meztelencsiga',
'kifejezések' => tömb ('színes', 'aroma', 'fűszerek', 'vanília'), // Ne jelenítsen meg e kategóriákba tartozó termékeket az üzlet oldalon
'operátor' => 'NEM IN'
)));

}

remove_action ('pre_get_posts', 'custom_pre_get_posts_query');

}

4 – Bármely karakterlánc gyors lefordítása

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

function translate_text ($ lefordítva) {
$ translation = str_ireplace ('Választás és beállítás', 'Kiválasztás', $ lefordítva);
visszatér $ lefordítva;
}

5 – Kizárjon egy kategóriát a WooCommerce kategória widgetből

add_filter ('woocommerce_product_categories_widget_args', 'woo_product_cat_widget_args');

funkció woo_product_cat_widget_args ($ cat_args) {

$ cat_args ['kizárás'] = tömb ('16 ');

return $ cat_args;
}

6 – Adjon hozzá egyéni mezőt a termékváltozathoz

// A mezők megjelenítése
add_action ('woocommerce_product_after_variable_attributes', 'változó_mezők', 10, 2);
// JS mezők hozzáadásához az új variációkhoz
add_action ('woocommerce_product_after_variable_attributes_js', 'variable_fields_js');
// Variációs mezők mentése
add_action ('woocommerce_process_product_meta_variable', 'variable_fields_process', 10, 1);

függvény változó mezők ($ hurok, $ variáció_adatok) {?>


7 - A „Nincs raktáron” kifejezés helyébe az „eladott”

add_filter ('woocommerce_get_aibility', 'availability_filter_func');

funkció elérhetősége_szűrő_funkció (rendelkezésre állás dollárban)
{
$ rendelkezésre állás ['elérhetőség'] = str_ireplace ('Nincs raktáron,' Eladva ', $ elérhetőség [' elérhetőség ']);
visszaküldheti a rendelkezésre állás;
}

8 - A „Kosárba helyezés” gomb helyett jelenítse meg a „kosárban lévő termék” -t

/ **
* Módosítsa az egyes termékek oldalain a kosárba való beillesztés szövegét
* /
add_filter ('woocommerce_product_single_add_to_cart_text', 'woo_custom_cart_button_text');

funkció woo_custom_cart_button_text () {

globális dolláros kereskedelem;

foreach ($ woocommerce-> cart-> get_cart () mint $ cart_item_key => $ értékek) {
$ _product = $ értékek ['adatok'];

if (get_the_ID () == $ _termék-> azonosító) {
visszatérés __ ('Már van kosárban? Újra hozzáad?', 'woocommerce');
}
}

return __ ('Kosárba helyezés', 'woocommerce');
}

/ **
* Módosítsa a termék-archívumban a kosárba helyezett szöveget
* /
add_filter ('add_to_cart_text', 'woo_archive_custom_cart_button_text');

funkció woo_archive_custom_cart_button_text () {

globális dolláros kereskedelem;

foreach ($ woocommerce-> cart-> get_cart () mint $ cart_item_key => $ értékek) {
$ _product = $ értékek ['adatok'];

if (get_the_ID () == $ _termék-> azonosító) {
visszatérés __ ('Már van kosárban', 'woocommerce');
}
}

return __ ('Kosárba helyezés', 'woocommerce');
}

9 - A termékek elrejtése a kategória nézetben számít

add_filter ('woocommerce_subcategory_count_html', 'woo_remove_category_products_count');

funkció woo_remove_category_products_count () {
Visszatérés;
}

10 - Töltse ki a számla-fizetési mezőket

add_filter ('woocommerce_checkout_fields', 'woo_filter_account_checkout_fields');

funkció woo_filter_account_checkout_fields ($ mezők) {
$ mezők ['account'] ['account_username'] ['required'] = true;
$ mezők ['account'] ['account_password'] ['required'] = true;
$ mezők ['account'] ['account_password-2'] ['required'] = true;

visszaküld $ mezőket;
}

11 - Nevezze át a termék fület

add_filter ('woocommerce_product_tabs', 'woo_rename_tab', 98);
függvény woo_rename_tab ($ tabs) {

$ tabs ['description'] ['title'] = 'További információ';

visszatér $ lapok;
}

12 - Sorolja fel a WooCommerce termékkategóriákat

$ args = tömb (
'szám' => dollár szám,
'orderby' => $ orderby,
'order' => $ order,
'hide_empty' => $ hide_empty,
'include' => $ id
);

$ product_categories = get_terms ('termék_maga', $ args);

$ szám = szám ($ termék_kategóriák);
if ($ szám> 0) {
visszhang "„
}

13 - Cserélje ki az üzlet oldal címét

add_filter ('woocommerce_page_title', 'woo_shop_page_title');

funkció woo_shop_page_title ($ page_title) {

if ('Shop' == $ page_title) {
vissza az "Új címem";
}
}

14 - A widget címe megváltoztatása

/ *
* A widget címe megváltoztatása
* /
add_filter ('widget_title', 'woo_widget_title', 10, 3);

woo_widget_title függvény ($ cím, $ példány, $ id_base) {

if ('onsale' == $ id_base) {
vissza az "Új címem";
}
}

15 - Távolítsa el a WooCommerce alapértelmezett beállításait

add_filter ('woocommerce_catalog_settings', 'woo_remove_catalog_options');

funkció woo_remove_catalog_options ($ katalógus) {

hatástalanított ($ katalógus [23]); // Záró nulla (nem)
hatástalanított ($ katalógus [22]); // 2 tizedesjegy
hatástalanított ($ katalógus [21]); // decimális sep (.)
hatástalanított ($ katalógus [20]); // ezer sep (,)
hatástalanított ($ katalógus [19]); // valutapozíció (balra)
hatástalanított ($ katalógus [18]); // valutapozíció (balra)
hatástalanított ($ katalógus [5]); // ajax Kosárba helyezés (nem)

visszaküld $ katalógust;
}

16 - Változtassa meg a „from” e-mail címet

funkció woo_custom_wp_mail_from () {
globális dolláros kereskedelem;
return html_entity_decode ('[email protected]');
}
add_filter ('wp_mail_from', 'woo_custom_wp_mail_from', 99);

17 - Dekódolás a névből a WooCommerce e-mailben

funkció woo_custom_wp_mail_from_name () {
globális dolláros kereskedelem;
return html_entity_decode (get_option ('woocommerce_email_from_name'));
}
add_filter ('wp_mail_from_name', 'woo_custom_wp_mail_from_name', 99);

funkció woo_custom_wp_mail_from () {
globális dolláros kereskedelem;
return html_entity_decode (get_option ('woocommerce_email_from'));
}
add_filter ('wp_mail_from_name', 'woo_custom_wp_mail_from_name', 99);

18 - A kiemelt termékek azonosítói

funkció woo_get_featured_product_ids () {
// Betöltés a gyorsítótárból
$ Featured_product_ids = get_transient ('wc_featured_products');

// Érvényes gyorsítótár található
if (hamis! == $ Featured_product_ids)
return $ Featured_product_ids;

$ Featured = get_posts (tömb (
'post_type' => tömb ('termék', 'termék_variáció'),
'posts_per_page' => -1,
'post_status' => 'közzétenni',
'meta_query' => tömb (
sor(
'key' => '_visibility',
'érték' => tömb ('katalógus', 'látható'),
'összehasonlítás' => 'IN'
),
sor(
'key' => '_featured',
'érték' => 'igen'
)
),
'mezők' => 'id => szülő'
));

$ termék_ids = tömb kulcsok ($ kiemelt);
$ parent_ids = array_values ​​($ kiemelt);
$ Featured_product_ids = array_unique (array_merge ($ product_ids, $ parent_ids));

set_transient ('wc_featured_products', $ Featured_product_ids);

return $ Featured_product_ids;
}

19 - Adjon hozzá egyéni mezőt a címoldal szerkesztéséhez

// mezők hozzáadása a címoldal szerkesztéséhez
függvény woo_add_edit_address_fields ($ mezők) {

$ new_fields = tömb (
'date_of_birth' => tömb (
'label' => __ ('Születési idő', 'Woocommerce'),
'szükséges' => hamis,
'class' => tömb ('form-row'),
),
);

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

visszaküld $ mezőket;

}

add_filter ('woocommerce_default_address_fields', 'woo_add_edit_address_fields');

20 - Az értékesíthető termékek katalógusának rövid kódja

funkció woocommerce_sale_products ($ atts) {

globális $ woocommerce_loop;

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

$ woocommerce_loop ['oszlopok]] = $ oszlopok;

$ args = tömb (
'post_type' => 'termék',
'post_status' => 'közzétenni',
'ignore_sticky_posts' => 1,
'posts_per_page' => $ per_page,
'orderby' => $ orderby,
'order' => $ order,
'meta_query' => tömb (
sor(
'key' => '_visibility',
'érték' => tömb ('katalógus', 'látható'),
'összehasonlítás' => 'IN'
),
sor(
'key' => '_sale_price',
'érték' => 0,
'összehasonlítás' => '>',
'type' => 'NUMERIC'
)
)
);
query_posts ($ args);
ob_start ();
woocommerce_get_template_part ('hurok', 'üzlet');
wp_reset_query ();

return ob_get_clean ();
}

add_shortcode ('sale_products', 'woocommerce_sale_products');

21 - Vannak értékesíthető termékek

funkció woo_have_onsale_products () {

globális dolláros kereskedelem;

// Vásároljon termékeket
$ product_ids_on_sale = array_filter (woocommerce_get_product_ids_on_sale ());

if (! üres ($ product_ids_on_sale)) {
visszatér igaz;
} más {
hamis visszaadást;
}

}

// Példa:
if (woo_have_onsale_products ()) {
echo „értékesítési termékekkel rendelkeznek”;
} más {
echo „nincs értékesíthető termék”;
}

22 - Állítsa be a minimális rendelési összeget

add_action ('woocommerce_checkout_process', 'wc_minimum_order_amount');
wc_minimum_order_amount () funkció
globális dolláros kereskedelem;
$ minimum = 50;
if ($ woocommerce-> cart-> get_cart_total (); < $minimum ) {
$woocommerce->add_error (sprintf ('A megrendeléshez legalább% s rendeléssel kell rendelkeznie.', minimum $));
}
}

23 - Rendezés ár, dátum vagy cím alapján az üzlet oldalon

add_filter ('woocommerce_default_catalog_orderby', 'custom_default_catalog_orderby');

custom_default_catalog_orderby () funkció
visszatérítési dátum'; // Cím és ár is használható
}

24 - átirányítás a kosárba gombra a pénztár oldalához

add_filter ('add_to_cart_redirect', 'redirect_to_checkout');

redirect_to_checkout () függvény {
globális dolláros kereskedelem;
$ checkout_url = $ woocommerce-> cart-> get_checkout_url ();
return $ checkout_url;
}

25 - E-mail címzett hozzáadása a megrendelés teljesítésekor

funkció woo_extra_email_recipient ($ címzett, $ objektum) {
$ címzett = $ címzett. ', [email protected]';
visszatérő $ átvevő;
}
add_filter ('woocommerce_email_recipient_customer_completed_order', 'woo_extra_email_recipient', 10, 2);

És ez az! Remélem, hasznosnak találja ezeket a kivonatokat, mindegyiket tesztelték és mindegyik jól működik, de ha bármilyen probléma merül fel, kérjük, ossza meg nekem a megjegyzések részt. Érezd jól magad! ��

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