워드 프레스 파트 2에 대한 나의 25 최고의 WooCommerce 스 니펫

  1. 1. 워드 프레스에 대한 나의 25 최고의 WooCommerce 스 니펫
  2. 2. 현재 읽고있는 내용 : 워드 프레스 파트 2에 대한 나의 25 최고의 WooCommerce 스 니펫

며칠 전, 내가 사용하는 가장 유용한 WooCommerce 스 니펫 25 개를 나열한 게시물을 작성했으며 더 많은 것을 요청한 사람들이 많았으므로 오늘은 더 많은 스 니펫을 제공하기로 결정했습니다. WooCommerce! 여기 우리는 간다!


1 – WooCommerce 기본 PayPal 로고 교체

/ *
* WooCommerce 기본 PayPal 아이콘 교체
* /
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 – 기본 제품 자리 표시 자 이미지 교체

/ *
* 테마 functions.php 또는 사용자 정의 플러그인에 들어갑니다. 이미지 파일 이름 / 경로를 자신의 것으로 바꾸십시오  :) 
*
** /
add_action ( '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 = $ uploads입니다. '/2012/07/thumb1.jpg';

return $ src;
}
}

3 – 이동 경로에서 “제품”제거

/ *
* WooCommerce breadcrumb에서 "제품"숨기기
* /
함수 woo_custom_filter_breadcrumbs_trail ($ trail) {
foreach ($ trail as $ k => $ v) {
if (strtolower (strip_tags ($ v)) == 'products') {
unset ($ trail [$ k]);
단절;
}
}

$ trail을 반환;
}

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

4 – 빈 카트

/ *
* 빈 WooCommerce 카트
* /
함수 my_empty_cart () {
글로벌 $ woocommerce;
$ woocommerce-> cart-> empty_cart ();
}
add_action ( 'init', 'my_empty_cart');

5 – 방문시 장바구니에 자동으로 제품 추가

/ *
* 방문시 장바구니에 품목 추가
* /
add_product_to_cart () 함수 {
if (! is_admin ()) {
글로벌 $ woocommerce;
$ product_id = 64;
$ found = 거짓;
// 제품이 이미 장바구니에 있는지 확인
if (sizeof ($ woocommerce-> cart-> get_cart ())> 0) {
foreach ($ woocommerce-> cart-> get_cart () as $ cart_item_key => $ values) {
$ _product = $ values ​​[ '데이터'];
($ _product-> id == $ product_id) 인 경우
$ found = true;
}
// 제품을 찾지 못하면 추가
if (! $ found)
$ woocommerce-> cart-> add_to_cart ($ product_id);
} else {
// 장바구니에 제품이 없으면 추가
$ woocommerce-> cart-> add_to_cart ($ product_id);
}
}
}
add_action ( 'init', 'add_product_to_cart');

6 – 맞춤 통화 / 기호 추가

add_filter ( 'woocommerce_currencies', 'add_my_currency');

함수 add_my_currency ($ currencies) {
$ currencies [ 'ABC'] = __ ( '통화 이름', 'woocommerce');
$ 통화를 반환;
}

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

함수 add_my_currency_symbol ($ currency_symbol, $ currency) {
switch ($ currency) {
'ABC'사례 : $ currency_symbol = '$'; 단절;
}
$ currency_symbol을 반환합니다.
}

7 – 장바구니에 추가 버튼 텍스트

/ **
* 단일 제품 페이지에서 장바구니에 추가 텍스트를 변경하십시오.
* /
함수 woo_custom_cart_button_text () {
return __ ( '내 버튼 텍스트', 'woocommerce');
}
add_filter ( 'single_add_to_cart_text', 'woo_custom_cart_button_text');



/ **
* 제품 아카이브에서 장바구니에 추가 텍스트를 변경하십시오.
* /
함수 woo_archive_custom_cart_button_text () {
return __ ( '내 버튼 텍스트', 'woocommerce');
}
add_filter ( 'add_to_cart_text', 'woo_archive_custom_cart_button_text');

8 – 구독 페이지에 장바구니에 추가 구독을 리디렉션

/ **
* 결제 페이지로 장바구니에 추가 구독을 리디렉션
*
* @param 문자열 $ url
* /
custom_add_to_cart_redirect ($ url) {

$ product_id = (int) $ _REQUEST [ 'add-to-cart'];
if (class_exists ( 'WC_Subscriptions_Product')) {
if (WC_Subscriptions_Product :: is_subscription ($ product_id)) {
반환 get_permalink (get_option ( 'woocommerce_checkout_page_id'));
} 그렇지 않으면 $ url을 반환합니다.
} 그렇지 않으면 $ url을 반환합니다.

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

이 스 니펫에는 구독 플러그인이 필요합니다.

9 – 장바구니에 추가 한 후 결제 페이지로 리디렉션

/ **
* 결제 페이지로 장바구니에 추가 구독을 리디렉션
*
* @param none
* /
add_to_cart_checkout_redirect () 함수 {
wp_safe_redirect (get_permalink (get_option ( 'woocommerce_checkout_page_id')));
주사위();
}
add_action ( 'woocommerce_add_to_cart', 'add_to_cart_checkout_redirect', 11);

10 – 모든 이메일 참조

 / **
* WooCommerce 추가 기능
* --------------------------
*
* 모든 WooCommerce 이메일에 다른 이메일 수신자 추가
*
* /
함수 woo_cc_all_emails () {
'숨은 참조 : [email protected]'을 반환하십시오. "\ r \ n";
}
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 = '보낸 사람 : 내 이름'. "\ r \ n";

$ message = '새로운 주문이 완료되었습니다. \ n';
$ message. = '주문 ID :'. $ order_id. '\ n';
$ message. = '사용 된 쿠폰 : \ n';

foreach ($ order-> get_used_coupons ()를 $ coupon) {
$ message. = $ coupon. '\ n';
}
@wp_mail ($ to, $ subject, $ message, $ headers);
}
}
add_action ( '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) {

if (! $ q-> is_main_query ()) 반환;
if (! $ q-> is_post_type_archive ()) 반환;

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

$ q-> set ( 'tax_query', 배열 (배열 (
'taxonomy'=> 'product_cat',
'field'=> '슬러그',
'terms'=> array ( 'shoes'), // 상점 페이지의 신발 카테고리에 제품을 표시하지 않습니다
'operator'=> 'NOT IN'
)));

}

remove_action ( 'pre_get_posts', 'custom_pre_get_posts_query');

}
add_action ( 'pre_get_posts', 'woo_custom_pre_get_posts_query');

14 – 작업장 열 번호 변경

/ **
* WooCommerce 추가 기능
* --------------------------
*
* 상점 페이지에서 제품 열 번호 변경
*
* /
함수 woo_product_columns_frontend () {
글로벌 $ woocommerce;

// 카테고리 및 하위 범주에도 사용되는 기본값
$ columns = 4;

// 상품 목록
if (is_product_category ()) :
$ columns = 4;
엔디 프;

//관련 상품
if (is_product ()) :
$ columns = 2;
엔디 프;

// 크로스 판매
if (is_checkout ()) :
$ columns = 4;
엔디 프;

$ 컬럼 반환;
}
add_filter ( 'loop_shop_columns', 'woo_product_columns_frontend');

15 – WooCommerce 탭 비활성화

 / **
* 제품 탭 제거
*
* /
함수 woo_remove_product_tab ($ tabs) {

unset ($ tabs [ '설명']); // 설명 탭을 제거합니다
unset ($ tabs [ '검토']); // 리뷰 탭 제거
unset ($ tabs [ 'additional_information']); // 추가 정보 탭을 제거합니다

$ 탭 반환;

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

16 – 빵 부스러기 제거

 / **
* WooCommerce BreadCrumb 제거
*
* /
remove_action ( 'woocommerce_before_main_content', 'woocommerce_breadcrumb', 20);

17 – 배송 국가 목록 제한

/ **
* WooCommerce 추가 기능
* --------------------------
*
* 배송 국가 목록 제한
*
* /
함수 woo_override_checkout_fields ($ fields) {

$ fields [ 'shipping'] [ 'shipping_country'] = 배열 ​​(
'type'=> 'select',
'label'=> __ ( '내 새로운 국가 목록', 'woocommerce'),
'options'=> array ( 'AU'=> '오스트레일리아')
);

리턴 $ fields;
}
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', 'hide_all_shipping_when_free_is_available', 10, 1);

/ **
* 무료 배송이 가능한 경우 모든 배송 옵션 숨기기
*
* @param 배열 $ available_methods
* /
hide_all_shipping_when_free_is_available ($ available_methods) {

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

// 무료 배열을 새로운 배열로 가져 오기
$ freeshipping = 배열 ​​();
$ freeshipping = $ available_methods [ 'free_shipping'];

// $ available_methods 배열을 비 웁니다
unset ($ available_methods);

// $ avaialble_methods로 무료 배송 추가
$ available_methods = 배열 ​​();
$ available_methods [] = $ freeshipping;

엔디 프;

$ 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'; // 금액
$ discount_type = 'fixed_cart'; // 유형 : fixed_cart, percent, fixed_product, percent_product

$ coupon = 배열 ​​(
'post_title'=> $ coupon_code,
'post_content'=> '',
'post_status'=> '게시',
'post_author'=> 1,
'post_type'=> 'shop_coupon'
);

$ new_coupon_id = wp_insert_post ($ coupon);

// 메타 추가
update_post_meta ($ new_coupon_id, 'discount_type', $ discount_type);
update_post_meta ($ new_coupon_id, 'coupon_amount', $ amount);
update_post_meta ($ new_coupon_id, 'individual_use', 'no');
update_post_meta ($ new_coupon_id, 'product_ids', '');
update_post_meta ($ new_coupon_id, 'exclude_product_ids', '');
update_post_meta ($ new_coupon_id, 'usage_limit', '');
update_post_meta ($ new_coupon_id, '만료일', '');
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);

function change_admin_email_subject ($ subject, $ order) {
글로벌 $ woocommerce;

$ blogname = wp_specialchars_decode (get_option ( 'blogname'), ENT_QUOTES);

$ subject = sprintf ( '[% s] 이름 % s % s의 새 고객 주문 (# % s)', $ blogname, $ order-> id, $ order-> billing_first_name, $ order-> billing_last_name);

반환 $ 주제;
}

23 – 장바구니에 관세 추가

/ **
* WooCommerce 추가 기능
* --------------------------
*
* 자동 장바구니에 맞춤 수수료 추가
*
* /
함수 woo_add_cart_fee () {

글로벌 $ woocommerce;

if (is_cart ()) {
$ woocommerce-> cart-> add_fee (__ ( 'Custom', 'woocommerce'), 5);
}

}
add_action ( 'woocommerce_before_cart_table', 'woo_add_cart_fee');

24 – 장바구니 메시지에 사용자 정의가 추가되었습니다.

/ **
* 주문 장바구니에 담기 메시지
* 이것을 테마 functions.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') == 'yes') :

$ return_to = get_permalink (woocommerce_get_page_id ( 'shop'));

$ message = sprintf ( '%에스 % s ', $ return_to, __ ('쇼핑 계속 → ','woocommerce '), __ ('제품이 장바구니에 성공적으로 추가되었습니다. ','woocommerce '));

다른 :

$ message = sprintf ( '%에스 % s ', get_permalink (woocommerce_get_page_id ('cart ')), __ ('카트보기 → ','woocommerce '), __ ('카트에 제품을 성공적으로 추가했습니다. ','woocommerce '));

엔디 프;

$ 메시지를 반환;
}

25 – 관리 이메일에 결제 수단 추가

/ **
* WooCommerce 추가 기능
* --------------------------
*
* 새로운 주문 이메일을 관리하기 위해 결제 수단 추가
*
* /
add_action ( 'woocommerce_email_after_order_table', 'woo_add_payment_method_to_admin_new_order', 15, 2);

woo_add_payment_method_to_admin_new_order ($ order, $ is_admin_email) {
if ($ is_admin_email) {
에코

결제 방법 : '. $ order-> payment_method_title '

'; } }

그리고 붐! 그게 다야! 이 스 니펫이 마음에 드시기 바랍니다. 의견이 있으시면 아래에 의견을 남겨주십시오!


WooCommerce 준비 테마가 없거나 새로운 테마를 원하십니까? Total 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