Моите 25 най-добрите WooCommerce фрагменти за WordPress, част 2

  1. 1. Моите 25 най-добри фрагмента на WooCommerce за WordPress
  2. 2. В момента четете: Моите 25 най-добрите WooCommerce фрагменти за WordPress, част 2

Преди няколко дни написах публикация, в която изброих 25 от най-полезните фрагменти на WooCommerce, които използвам, и вие бяхте много хора, за да поискате повече, затова днес реших да ви предоставя още фрагменти за WooCommerce! Ето ни!


Contents

1 – Заменете логото на PayPal по подразбиране на WooCommerce

/ *
* Заменете иконата на PayPal по подразбиране на WooCommerce
* /
функция paypal_checkout_icon () {
връщане „https://www.paypalobjects.com/webstatic/mktg/logo-center/logo_betalen_met_paypal_nl.jpg“; // напишете свой собствен URL адрес на изображението тук
}
add_filter ('woocommerce_paypal_icon', 'paypal_checkout_icon');

2 – Заменете по подразбиране изображение на заместителя на продукта

/ *
* влиза в темата function.php или персонализиран плъгин. Заменете името / файла на изображението със собствен  :) 
*
** /
добавяне ('init', 'custom_fix_thumbnail');

функция custom_fix_thumbnail () {
add_filter ('woocommerce_placeholder_img_src', 'custom_woocommerce_placeholder_img_src');

функция custom_woocommerce_placeholder_img_src ($ src) {
$ upload_dir = wp_upload_dir ();
$ uploads = untrailingslashit ($ upload_dir ['baseurl']);
$ src = $ качва. "/2012/07/thumb1.jpg";

върнете $ src;
}
}

3 – Извадете „Продуктите“ от галета

/ *
* Скриване на „Продукти“ в галета на WooCommerce
* /
функция woo_custom_filter_breadcrumbs_trail ($ пътека) {
foreach ($ след като $ k => $ v) {
if (strtolower (strip_tags ($ v)) == 'products') {
изключен ($ пътека [$ k]);
прекъсване;
}
}

върнете $ пътека;
}

add_filter ('woo_breadcrumbs_trail', 'woo_custom_filter_breadcrumbs_trail', 10);

4 – Празна количка

/ *
* Празна количка за WooCommerce
* /
функция my_empty_cart () {
глобална $ woocommerce;
$ Woocommerce-> cart-> empty_cart ();
}
добавяне ('init', 'my_empty_cart');

5 – Автоматично добавяне на продукт в количката при посещение

/ *
* Добавете артикул в количката при посещение
* /
функция add_product_to_cart () {
ако (! is_admin ()) {
глобална $ woocommerce;
$ product_id = 64;
$ found = false;
// проверете дали продуктът вече е в количката
if (sizeof ($ woocommerce-> cart-> get_cart ())> 0) {
foreach ($ woocommerce-> cart-> get_cart () като $ cart_item_key => $ стойности) {
$ _product = $ values ​​['data'];
if ($ _product-> id == $ product_id)
$ found = true;
}
// ако продуктът не е намерен, добавете го
ако (! $ намерено)
$ woocommerce-> cart-> add_to_cart ($ product_id);
} else {
// ако няма продукти в количката, добавете го
$ woocommerce-> cart-> add_to_cart ($ product_id);
}
}
}
добавяне ('init', 'add_product_to_cart');

6 – Добавете персонализирана валута / символ

add_filter ('woocommerce_currencies', 'add_my_currency');

функция add_my_currency ($ валути) {
$ валути ['ABC'] = __ ('Име на валута', 'woocommerce');
връщане на $ валути;
}

add_filter ('woocommerce_currency_symbol', 'add_my_currency_symbol', 10, 2);

функция add_my_currency_symbol ($ Currency_symbol, $ Currency) {
превключвател ($ валута) {
случай 'ABC': $ Currency_symbol = '$'; прекъсване;
}
върнете $ Currency_symbol;
}

7 – Промяна на текста на бутона за добавяне в кошницата

/ **
* Променете текста за добавяне в кошницата на отделни страници с продукти
* /
функция woo_custom_cart_button_text () {
връщане __ („Текст на моя бутон“, „woocommerce“);
}
add_filter ('single_add_to_cart_text', 'woo_custom_cart_button_text');



/ **
* Променете текста за добавяне към количката в архивите на продуктите
* /
функция woo_archive_custom_cart_button_text () {
връщане __ („Текст на моя бутон“, „woocommerce“);
}
add_filter ('add_to_cart_text', 'woo_archive_custom_cart_button_text');

8 – Пренасочване на абонамент добавете в количката към страницата за плащане

/ **
* Пренасочване на абонамент добавете в кошницата към страницата за плащане
*
* @param string $ url
* /
функция custom_add_to_cart_redirect ($ url) {

$ product_id = (int) $ _REQUEST ['добавка към количката'];
ако (class_exists ('WC_Subscriptions_Product')) {
ако (WC_Subscriptions_Product :: is_subscription ($ product_id)) {
върнете get_permalink (get_option ('woocommerce_checkout_page_id'));
} else върнете $ url;
} else върнете $ url;

}
add_filter ('add_to_cart_redirect', 'custom_add_to_cart_redirect');

Този фрагмент изисква приставка за абонаменти.

9 – Пренасочване към страницата за зареждане след добавяне в количката

/ **
* Пренасочване на абонамент добавете в кошницата към страницата за плащане
*
* @param няма
* /
функция add_to_cart_checkout_redirect () {
wp_safe_redirect (get_permalink (get_option ('woocommerce_checkout_page_id')));
умрат ();
}
добавяне ('woocommerce_add_to_cart', 'add_to_cart_checkout_redirect', 11);

10 – CC всички имейли

 / **
* Допълнителна функция на WooCommerce
* --------------------------
*
* Добавете друг получател на имейл към всички имейли на WooCommerce
*
* /
функция woo_cc_all_emails () {
върнете „Bcc: [email protected]“. "\ Г \ п";
}
add_filter ('woocommerce_email_headers', 'woo_cc_all_emails');

11 – Изпратете имейл, когато се изпълни нова поръчка с използвани купони

/ **
* Допълнителна функция на WooCommerce
* --------------------------
*
* Изпращайте имейл всеки път, когато поръчката с купон (и) е завършена
* Имейлът съдържа талони (и), използвани по време на процеса на плащане
*
* /
функция woo_email_order_coupons ($ order_id) {
$ order = нов WC_Order ($ order_id);

if ($ order-> get_used_coupons ()) {

$ to = '[email protected]';
$ subject = 'Нова поръчка приключи';
$ headers = 'От: Моето име'. "\ Г \ п";

$ message = 'Нова поръчка е завършена. \ n';
$ message. = 'Идент. № на поръчката:'. $ order_id. '\ n';
$ message. = 'Използвани талони: \ n';

foreach ($ order-> get_used_coupons () като $ купон) {
$ message. = $ купон. '\ n';
}
@wp_mail ($ to, $ subject, $ message, $ headers);
}
}
добавяне на управление ('woocommerce_thankyou', 'woo_email_order_coupons');

12 – Промяна на броя на свързаните продукти

/ **
* Допълнителна функция на WooCommerce
* --------------------------
*
* Промяна на броя на свързаните продукти на продуктовата страница
* Задайте собствената си стойност за „posts_per_page“
*
* /
функция woo_related_products_limit () {
глобален $ продукт;

$ args = масив (
'post_type' => 'продукт',
'no_found_rows' => 1,
'posts_per_page' => 6,
'ignore_sticky_posts' => 1,
'orderby' => $ orderby,
'post__in' => $ свързани,
'post__not_in' => масив ($ product-> id)
);
върнете $ args;
}
add_filter ('woocommerce_related_products_args', 'woo_related_products_limit');

13 – Изключете продукти от определена категория на страницата на магазина

 / **
* Премахване на продукти от страницата на магазина по категории
*
* /
функция woo_custom_pre_get_posts_query ($ q) {

ако (! $ q-> is_main_query ()) се върне;
ако (! $ q-> is_post_type_archive ()) се върне;

ако (! is_admin () && is_shop ()) {

$ q-> set ('tax_query', масив (масив (
'таксономия' => 'product_cat',
'field' => 'slug',
'terms' => масив ('обувки'), // Не показвайте продукти в категорията обувки на страницата на магазина
'operator' => 'NOT IN'
)));

}

изтриване ('pre_get_posts', 'custom_pre_get_posts_query');

}
добавяне ('pre_get_posts', 'woo_custom_pre_get_posts_query');

14 – Промяна на номера на колоните в магазина

/ **
* Допълнителна функция на WooCommerce
* --------------------------
*
* Промяна на номера на колоните на продуктите на страниците на магазина
*
* /
функция woo_product_column_frontend () {
глобална $ woocommerce;

// Стойност по подразбиране, използвана и за категории и под_категории
$ колони = 4;

// Списък с продукти
ако (is_product_category ()):
$ колони = 4;
endif;

//Свързани продукти
ако (is_product ()):
$ колони = 2;
endif;

// Кръстосани продажби
ако (is_checkout ()):
$ колони = 4;
endif;

върнете $ колони;
}
add_filter ('loop_shop_column', 'woo_product_column_frontend');

15 – Деактивиране на раздели WooCommerce

 / **
* Премахване на раздели на продукта
*
* /
функция woo_remove_product_tab ($ tabs) {

unset ($ tabs ['описание']); // Премахване на раздела с описание
изключване ($ tabs ['отзиви']); // Премахване на раздела за отзиви
изключен ($ tabs ['допълнителна_информация']); // Премахнете раздела за допълнителна информация

върнете $ раздели;

}
add_filter ('woocommerce_product_tabs', 'woo_remove_product_tab', 98);

16 – Извадете галета

 / **
* Премахнете WooCommerce BreadCrumb
*
* /
изтриване („woocommerce_before_main_content“, „woocommerce_breadcrumb“, 20);

17 – Ограничаване на списъка с държави за доставка

/ **
* Допълнителна функция на WooCommerce
* --------------------------
*
* Ограничете списъка с държави за доставка
*
* /
функция woo_override_checkout_fields ($ полета) {

$ polja ['доставка'] ['shipping_country'] = масив (
'type' => 'select',
'label' => __ ('Моят нов списък на държавите', 'woocommerce'),
'options' => масив ('AU' => 'Австралия')
);

върнете $ полета;
}
add_filter ('woocommerce_checkout_fields', 'woo_override_checkout_fields');

18 – Заменете „Безплатно!“ продуктов низ

/ **
* Допълнителна функция на WooCommerce
* --------------------------
*
* Заменете „Безплатно!“ от потребителски низ
*
* /
функция woo_my_custom_free_message () {
връщане "Този продукт е БЕЗПЛАТЕН!";
}

add_filter ('woocommerce_free_price_html', 'woo_my_custom_free_message');

19 – Скриване на ВСИЧКИ други методи за доставка, когато е налична Безплатна доставка

// Скриване на ВСИЧКИ опции за доставка, когато е налична безплатна доставка
add_filter ('woocommerce_available_shipping_methods', 'hid_all_shipping_when_free_is_available', 10, 1);

/ **
* Скриване на ВСИЧКА опция за доставка, когато е налична безплатна доставка
*
* @param масив $ available_methods
* /
функция скриване_у_схипинг_вхен_фрий_ис_авация ($ налични_методи) {

if (isset ($ available_methods ['free_shipping'])):

// Вземете масив за безплатна доставка в нов масив
$ freeshipping = array ();
$ freeshipping = $ available_methods ['free_shipping'];

// Изпразнете масива $ available_methods
unset ($ available_methods);

// Добавяне на безплатна доставка обратно в $ avaialble_methods
$ available_methods = array ();
$ available_methods [] = $ безплатна доставка;

endif;

върнете $ available_methods;
}

20 – Направете поле за състояние на касата да не се изисква

/ **
* Допълнителна функция на WooCommerce
* --------------------------
*
* Направете полето „състояние“ да не се изисква при плащане
*
* /

add_filter ('woocommerce_billing_fields', 'woo_filter_state_billing', 10, 1);
add_filter ('woocommerce_shipping_fields', 'woo_filter_state_shipping', 10, 1);

функция woo_filter_state_billing ($ address_fields) {
$ address_fields ['billing_state'] ['изисква'] = невярно;
върнете $ address_fields;
}

функция woo_filter_state_shipping ($ address_fields) {
$ address_fields ['shipping_state'] ['изисква'] = невярно;
върнете $ address_fields;
}

21 – Създайте купон програмно

$ coupon_code = 'UNIQUECODE'; // Код
$ сума = '10'; // Количество
$ popust_type = 'фиксиран_карт'; // Тип: фиксиран_карт, процент, фиксиран_продукт, процент_продукт

$ coupon = масив (
'post_title' => $ coupon_code,
'post_content' => '',
'post_status' => 'публикуване',
'post_author' => 1,
'post_type' => 'shop_coupon'
);

$ new_coupon_id = wp_insert_post ($ купон);

// Добавяне на мета
update_post_meta ($ new_coupon_id, 'type_type', $ popust_type);
update_post_meta ($ new_coupon_id, 'coupon_amount', $ сума);
update_post_meta ($ new_coupon_id, 'individual_use', 'no');
update_post_meta ($ new_coupon_id, 'product_ids', '');
update_post_meta ($ new_coupon_id, 'изключи_продукт_ids', '');
update_post_meta ($ new_coupon_id, 'use_limit', '');
update_post_meta ($ new_coupon_id, 'expiry_date', '');
update_post_meta ($ new_coupon_id, 'apply_before_tax', 'yes');
update_post_meta ($ new_coupon_id, 'free_shipping', 'no');

22 – Промяна на темите на имейлите

/ *
* Тематични филтри:
* woocommerce_email_subject_new_order
* woocommerce_email_subject_customer_procesing_order
* woocommerce_email_subject_customer_completed_order
* woocommerce_email_subject_customer_invoice
* woocommerce_email_subject_customer_note
* woocommerce_email_subject_low_stock
* woocommerce_email_subject_no_stock
* woocommerce_email_subject_backorder
* woocommerce_email_subject_customer_new_account
* woocommerce_email_subject_customer_invoice_paid
** /
add_filter ('woocommerce_email_subject_new_order', 'change_admin_email_subject', 1, 2);

функция change_admin_email_subject ($ subject, $ order) {
глобална $ woocommerce;

$ blogname = wp_specialchars_decode (get_option ('име на блог »), ENT_QUOTES);

$ subject = sprintf ('[% s] Нова поръчка на клиент (#% s) от име% s% s', $ име на блог, $ order-> id, $ order-> billing_first_name, $ order-> billing_last_name);

върнете $ предмет;
}

23 – Добавете потребителска такса в количката

/ **
* Допълнителна функция на WooCommerce
* --------------------------
*
* Добавете персонализирана такса за количка автоматично
*
* /
функция woo_add_cart_fee () {

глобална $ woocommerce;

ако (is_cart ()) {
$ woocommerce-> cart-> add_fee (__ ('Персонализиран', 'woocommerce'), 5);
}

}
добавяне на управление ('woocommerce_before_cart_table', 'woo_add_cart_fee');

24 – По поръчка добавено съобщение за количка

/ **
* Персонализирано добавяне в кошницата
* Добавете това към вашия тематичен файл function.php
** /
add_filter ('woocommerce_add_to_cart_message', 'custom_add_to_cart_message');
функция custom_add_to_cart_message () {
глобална $ woocommerce;

// Извеждане на съобщения за успех
if (get_option ('woocommerce_cart_redirect_after_add') == 'да'):

$ return_to = get_permalink (woocommerce_get_page_id ('магазин'));

$ message = sprintf (' % s ', $ return_to, __ (' Продължаване на пазаруването → ',' woocommerce '), __ (' Продуктът успешно е добавен към вашата количка. ',' woocommerce '));

друго:

$ message = sprintf (' % s ', get_permalink (woocommerce_get_page_id (' количка ')), __ (' Преглед на кошницата → ',' woocommerce '), __ (' Продуктът успешно е добавен към вашата количка. ',' woocommerce '));

endif;

върнете $ съобщение;
}

25 – Добавете начин на плащане към имейл на администратора

/ **
* Допълнителна функция на WooCommerce
* --------------------------
*
* Добавете метод на плащане, за да администрирате нов имейл за поръчка
*
* /
добавяне на управление ('woocommerce_email_after_order_table', 'woo_add_payment_method_to_admin_new_order', 15, 2);

функция woo_add_payment_method_to_admin_new_order ($ поръчка, $ is_admin_email) {
ако ($ is_admin_email) {
ехо '

Начин на плащане: '. $ order-> Payment_method_title. "

"; } }

И бум! Това е! Надявам се да ви харесат тези откъси. Ако имате някакви предложения, не се колебайте да оставите коментар по-долу!


Нямате готова тема за WooCommerce или искате нова? Не забравяйте да проверите нашата тема за WordPress!

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