1. 1. WordPressの25のベストWooCommerceスニペット
  2. 2. 現在読んでいる: WordPressパート2の私の25のベストWooCommerceスニペット

数日前に私が使用した最も有用なWooCommerceスニペットを25個リストアップした投稿を書きましたが、あなたはもっと多くの人から要望があったので、今日はさらにいくつかのスニペットを提供することにしました WooCommerce! さあ行こう!


Contents

1 – WooCommerceのデフォルトのPayPalロゴを置き換える

/ *
* WooCommerceのデフォルトのPayPalアイコンを置き換える
* /
function 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');

function custom_fix_thumbnail(){
add_filter( 'woocommerce_placeholder_img_src'、 'custom_woocommerce_placeholder_img_src');

function custom_woocommerce_placeholder_img_src($ src){
$ upload_dir = wp_upload_dir();
$ uploads = untrailingslashit($ upload_dir ['baseurl']);
$ src = $ uploads。 '/2012/07/thumb1.jpg';

$ srcを返す;
}
}

3 –ブレッドクラムから「製品」を削除する

/ *
* WooCommerceブレッドクラムで「製品」を非表示にする
* /
function 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 –訪問時に商品をカートに自動的に追加する

/ *
*訪問時にアイテムをカートに追加
* /
function add_product_to_cart(){
if(!is_admin()){
グローバル$ woocommerce;
$ product_id = 64;
$ found = false;
//すでにカートに入っているかどうかを確認します
if(sizeof($ woocommerce-> cart-> get_cart())> 0){
foreach($ woocommerce-> cart-> get_cart()as $ cart_item_key => $ values){
$ _product = $ values ['data'];
if($ _product-> id == $ product_id)
$ found = true;
}
//製品が見つからない場合は追加します
if(!$ found)
$ woocommerce-> cart-> add_to_cart($ product_id);
} そうしないと {
//カートに商品がない場合は追加します
$ woocommerce-> cart-> add_to_cart($ product_id);
}
}
}
add_action( 'init'、 'add_product_to_cart');

6 –カスタム通貨/記号を追加する

add_filter( 'woocommerce_currencies'、 'add_my_currency');

function add_my_currency($ currencies){
$ currencies ['ABC'] = __( '通貨名'、 'woocommerce');
$ currenciesを返す;
}

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

function add_my_currency_symbol($ currency_symbol、$ currency){
switch($ currency){
ケース 'ABC':$ currency_symbol = '$';ブレーク;
}
$ currency_symbolを返します。
}

7 –カートに追加ボタンのテキストを変更する

/ **
*単一の製品ページのカートに追加するテキストを変更する
* /
function woo_custom_cart_button_text(){
return __( 'My Button Text'、 'woocommerce');
}
add_filter( 'single_add_to_cart_text'、 'woo_custom_cart_button_text');



/ **
*製品アーカイブのカートに追加するテキストを変更する
* /
function woo_archive_custom_cart_button_text(){
return __( 'My Button Text'、 'woocommerce');
}
add_filter( 'add_to_cart_text'、 'woo_archive_custom_cart_button_text');

8 –サブスクリプションをカートに追加してチェックアウトページにリダイレクトする

/ **
*カートに追加したサブスクリプションをチェックアウトページにリダイレクト
*
* @param string $ url
* /
function custom_add_to_cart_redirect($ url){

$ product_id =(int)$ _REQUEST ['カートに追加'];
if(class_exists( 'WC_Subscriptions_Product')){
if(WC_Subscriptions_Product :: is_subscription($ product_id)){
return get_permalink(get_option( 'woocommerce_checkout_page_id'));
}その他の場合は$ urlを返します。
}それ以外の場合は$ urlを返します。

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

このスニペットにはサブスクリプションプラグインが必要です.

9 –カートに追加後、チェックアウトページにリダイレクトする

/ **
*カートに追加したサブスクリプションをチェックアウトページにリダイレクト
*
* @param none
* /
function add_to_cart_checkout_redirect(){
wp_safe_redirect(get_permalink(get_option( 'woocommerce_checkout_page_id')));
die();
}
add_action( 'woocommerce_add_to_cart'、 'add_to_cart_checkout_redirect'、11);

10 –すべてのメールをCC

 / **
* WooCommerceエクストラ機能
* --------------------------
*
*すべてのWooCommerceメールに別のメール受信者を追加します
*
* /
function woo_cc_all_emails(){
'Bcc:[email protected]'を返します。 "\ r \ n";
}
add_filter( 'woocommerce_email_headers'、 'woo_cc_all_emails');

11 –クーポンを使用して新しい注文が完了したときにメールを送信する

/ **
* WooCommerceエクストラ機能
* --------------------------
*
*クーポン付きの注文が完了するたびにメールを送信します
*メールには、チェックアウトプロセス中に使用されるクーポンが含まれています
*
* /
function woo_email_order_coupons($ order_id){
$ order = new WC_Order($ order_id);

if($ order-> get_used_coupons()){

$ to = '[email protected]';
$ subject = '新しい注文が完了しました';
$ headers = 'From:My Name'。 "\ r \ n";

$ message = '新しい注文が完了しました。\ n';
$ message。= '注文ID:'。$ order_id。 '\ n';
$ message。= '使用クーポン:\ n';

foreach($ order-> get_used_coupons()as $ coupon){
$ message。= $ coupon。 '\ n';
}
@wp_mail($ to、$ subject、$ message、$ headers);
}
}
add_action( 'woocommerce_thankyou'、 'woo_email_order_coupons');

12 –関連製品番号を変更する

/ **
* WooCommerceエクストラ機能
* --------------------------
*
※商品ページの関連商品数変更
* 'posts_per_page'に独自の値を設定します
*
* /
function woo_related_products_limit(){
グローバル$ product;

$ args = array(
'post_type' => '製品',
'no_found_rows' => 1,
'posts_per_page' => 6,
'ignore_sticky_posts' => 1,
'orderby' => $ orderby,
'post__in' => $関連,
'post__not_in' => array($ product-> id)
);
$ argsを返します。
}
add_filter( 'woocommerce_related_products_args'、 'woo_related_products_limit');

13 –ショップページの特定のカテゴリから商品を除外する

 / **
*商品をショップページからカテゴリ別に削除します
*
* /
function 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'、array(array(
'分類' => 'product_cat',
'フィールド' => 'スラグ',
'terms' => array( 'shoes')、//ショップページの靴カテゴリに商品を表示しない
'演算子' => '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エクストラ機能
* --------------------------
*
*ショップページの製品列番号を変更する
*
* /
function woo_product_columns_frontend(){
グローバル$ woocommerce;

//デフォルト値はカテゴリとsub_categoriesにも使用されます
$ columns = 4;

// 製品リスト
if(is_product_category()):
$ columns = 4;
endif;

//関連製品
if(is_product()):
$ columns = 2;
endif;

//クロスセル
if(is_checkout()):
$ columns = 4;
endif;

$ columnsを返します。
}
add_filter( 'loop_shop_columns'、 'woo_product_columns_frontend');

15 – WooCommerceタブを無効にする

 / **
*製品タブを削除
*
* /
function woo_remove_product_tab($ tabs){

unset($ tabs ['description']); //説明タブを削除します
unset($ tabs ['reviews']); //レビュータブを削除します
unset($ tabs ['additional_information']); //追加情報タブを削除します

$ tabsを返します。

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

16 –ブレッドクラムを削除する

 / **
* WooCommerce BreadCrumbを削除します
*
* /
remove_action( 'woocommerce_before_main_content'、 'woocommerce_breadcrumb'、20);

17 –配送国リストを制限する

/ **
* WooCommerceエクストラ機能
* --------------------------
*
*配送国リストを制限する
*
* /
function woo_override_checkout_fields($ fields){

$ fields ['shipping'] ['shipping_country'] = array(
'タイプ' => '選択',
'label' => __( 'My New Country List'、 'woocommerce'),
'オプション' => array( 'AU' => 'オーストラリア')
);

$ fieldsを返します。
}
add_filter( 'woocommerce_checkout_fields'、 'woo_override_checkout_fields');

18 –「無料」を交換してください製品ストリング

/ **
* WooCommerceエクストラ機能
* --------------------------
*
*「無料!」を置き換えますカスタム文字列
*
* /
function 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 array $ available_methods
* /
function hide_all_shipping_when_free_is_available($ 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 [] = $ freeshipping;

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

function woo_filter_state_billing($ address_fields){
$ address_fields ['billing_state'] ['required'] = false;
$ address_fieldsを返します。
}

function woo_filter_state_shipping($ address_fields){
$ address_fields ['shipping_state'] ['required'] = false;
$ address_fieldsを返します。
}

21 –プログラムでクーポンを作成する

$ coupon_code = 'UNIQUECODE'; //コード
$ amount = '10'; //金額
$ discount_type = 'fixed_cart'; //タイプ:fixed_cart、percent、fixed_product、percent_product

$ coupon = array(
'post_title' => $ coupon_code,
'post_content' => '',
'post_status' => 'publish',
'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、 '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);

function change_admin_email_subject($ subject、$ order){
グローバル$ woocommerce;

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

$ subject = sprintf( '[%s] New%s(#%s)from Name%s%s'、$ blogname、$ order-> id、$ order-> billing_first_name、$ order-> billing_last_name);

$ subjectを返す;
}

23 –カスタム料金をカートに追加する

/ **
* WooCommerceエクストラ機能
* --------------------------
*
*カスタム料金をカートに自動的に追加
*
* /
function 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');
function 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 %s '、$ return_to、__('買い物を続ける→ '、' woocommerce ')、__('商品がカートに追加されました。 '、' woocommerce '));

そうしないと :

$ message = sprintf( '%s %s '、get_permalink(woocommerce_get_page_id(' cart '))、__('カートを表示→ '、' woocommerce ')、__('商品がカートに追加されました。 '、' woocommerce '));

endif;

$ messageを返します。
}

25 –管理者のメールに支払い方法を追加する

/ **
* WooCommerceエクストラ機能
* --------------------------
*
*管理者の新しい注文メールに支払い方法を追加
*
* /
add_action( 'woocommerce_email_after_order_table'、 'woo_add_payment_method_to_admin_new_order'、15、2);

function 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