25 بهترین قطعه من WooCommerce برای وردپرس

  1. 1. در حال خواندن: 25 بهترین قطعه من WooCommerce برای وردپرس
  2. 2. 25 بهترین قطعه من WooCommerce برای وردپرس قسمت 2

بارها پرواز می شود … 6 ماه از زمان شروع کار برای WooThemes به عنوان یک تکنسین پشتیبانی تمام وقت WooCommerce گذشت. در طی این 6 ماه در WooCommerce چیزهای زیادی آموختم و خیلی کدگذاری کردم (بخوانید) زیاد!) قطعه های مربوط به WooCommerce. در واقع ، WooCommerce یک ابزار قدرتمند است و به راحتی قابل ارتقا است. این قلاب های زیادی وجود دارد که تقریباً برای همه موارد قابل استفاده هستند ، و این همان چیزی است که WooCommerce را بسیار خوب می کند. در اینجا لیستی از قطعه هایی که در طول ماه های گذشته نوشتم یا اقتباس کردم. همه این قطعات باید در پرونده های function.php در پوشه موضوع شما جایگذاری شود:


Contents

1 – نوع پرداخت را به ایمیل مدیر WooCommerce اضافه کنید

add_action ('woocommerce_email_after_order_table'، 'add_payment_method_to_admin_new_order'، 15، 2)؛

تابع add_payment_method_to_admin_new_order ($ سفارش ، $ is_admin_email) {
if ($ is_admin_email) {
پژواک

روش پرداخت: " $ order-> Payment_method_title. "

'؛ } }

2 – محصولات را در هر صفحه / هر خط به فروش می رساند

remove_action ('woocommerce_after_single_product_summary'، 'woocommerce_upsell_display'، 15)؛
add_action ('woocommerce_after_single_product_summary'، 'woocommerce_output_upsells'، 15)؛

اگر (! function_exists ('woocommerce_output_upsells')) {
عملکرد woocommerce_output_upells ()
woocommerce_upsell_display (3،3)؛ // نمایش 3 محصول در ردیف 3
}
}

3 – دسته محصولات را از صفحه فروشگاه حذف کنید

add_action ('pre_get_posts'، 'custom_pre_get_posts_query')؛

تابع custom_pre_get_posts_query ($ q)

اگر (! $ q-> is_main_query ()) برگردد؛
در صورت بازگشت (! $ q-> is_post_type_archive ())؛

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

$ q-> مجموعه ("tax_query" ، آرایه (آرایه (
'taxonomy' => 'product_cat',
'زمینه' => 'حلزون حرکت کردن',
'Terms' => array ('color'، 'flavor'، 'ادویه جات'، 'وانیل')، // محصولات موجود در این دسته ها را در صفحه فروشگاه نمایش ندهید
'operator' => 'NOT IN'
)))؛

}

remove_action ('pre_get_posts'، 'custom_pre_get_posts_query')؛

}

4 – سریع هر رشته را ترجمه کنید

add_filter ('gettext' ، 'translate_text')؛
add_filter ('ngettext' ، 'translate_text')؛

تابع translate_text ($ ترجمه شده) {
$ ترجمه = str_ireplace ('انتخاب و گزینه' ، 'انتخاب' ، $ ترجمه شده)؛
بازگشت به دلار ترجمه شده؛
}

5 – یک دسته بندی را از ویجت دسته WooCommerce حذف کنید

add_filter ('woocommerce_product_categor_widget_args'، 'woo_product_cat_widget_args')؛

عملکرد woo_product_cat_widget_args ($ cat_args)

$ cat_args ['حذف'] = آرایه ('16 ')؛

$ cat_args را بازگردانید
}

6 – یک زمینه دلخواه را به یک تنوع محصول اضافه کنید

// زمینه های نمایش
add_action ('woocommerce_product_after_variable_attributes'، 'متغیر_ زمینه'، 10، 2)؛
// JS برای افزودن زمینه برای تغییرات جدید
add_action ('woocommerce_product_after_variable_attributes_js'، 'variable_fields_js')؛
// ذخیره زمینه های تنوع
add_action ('woocommerce_process_product_meta_variable'، 'متغیر_فیلد_پروسس'، 10، 1)؛

تابع متغیر_ فیلد ($ حلقه ، $ variation_data) {؟>


7 - جایگزین "خارج از بورس" توسط "فروخته شده"

add_filter ('woocommerce_get_availability'، 'available_filter_func')؛

قابلیت دسترسی_filter_func (در دسترس بودن $)
{
در دسترس بودن $ ['available'] = str_ireplace ('خارج از بورس' ، 'فروخته شده' ، در دسترس بودن $ ["در دسترس"])
در دسترس بودن $ بازگشت؛
}

8 - به جای دکمه "افزودن به سبد خرید" ، محصول "قبلاً سبد خرید" را نمایش دهید

/ **
* متن اضافه کردن به سبد خرید را در صفحات تک محصول تغییر دهید
* /
add_filter ('woocommerce_product_single_add_to_cart_text'، 'woo_custom_cart_button_text')؛

عملکرد woo_custom_cart_button_text ()

تجارت جهانی woocommerce؛

foreach ($ woocommerce-> cart-> get_cart () به عنوان $ cart_item_key => $ ارزش) {
$ _product = $ مقادیر ['داده']؛

if (get_the_ID () == $ _product-> id) {
بازگشت __ ('قبلاً در سبد خرید - دوباره اضافه کنید؟' ، 'ووکامرس')؛
}
}

بازگشت __ ('افزودن به سبد خرید' ، 'ووکامرس')؛
}

/ **
* متن افزودنی به سبد خرید را در بایگانی محصولات تغییر دهید
* /
add_filter ('add_to_cart_text'، 'woo_archive_custom_cart_button_text')؛

عملکرد woo_archive_custom_cart_button_text ()

تجارت جهانی woocommerce؛

foreach ($ woocommerce-> cart-> get_cart () به عنوان $ cart_item_key => $ ارزش) {
$ _product = $ مقادیر ['داده']؛

if (get_the_ID () == $ _product-> id) {
بازگشت __ ('قبلاً در سبد خرید' ، 'تجارت جهانی')؛
}
}

بازگشت __ ('افزودن به سبد خرید' ، 'ووکامرس')؛
}

9 - تعداد محصولات را از نظر طبقه بندی مخفی کنید

add_filter ('woocommerce_subcategor_count_html'، 'woo_remove_categor_products_count')؛

عملکرد woo_remove_categor_products_count ()
برگشت؛
}

10 - زمینه های پرداخت حساب موردنیاز را ایجاد کنید

add_filter ('woocommerce_checkout_fields' ، 'woo_filter_account_checkout_fields')؛

عملکرد woo_filter_account_checkout_fields ($ زمینه) {
$ field ['account'] ['account_username'] ['ضروری است]] = صحیح؛
$ field ['account'] ['account_password'] ['ضروری'] = درست؛
$ field ['account'] ['account_password-2'] ['required'] = true؛

زمینه های $ بازگشت؛
}

11 - تغییر نام محصول

add_filter ('woocommerce_product_tabs' ، 'woo_rename_tab' ، 98)؛
عملکرد woo_rename_tab ($ برگه) {

$ tabs ['description'] ['title'] = 'اطلاعات بیشتر'؛

برگه $ را برگردانید
}

12 - دسته بندی محصولات WooCommerce را لیست کنید

$ args = آرایه (
'number' => شماره شماره,
'orderby' => $ سفارش,
'order' => $ order,
'veş_empty' => $ hide_empty,
'شامل' => $ id
)؛

$ product_c categories = get_terms ('product_cat'، $ args)؛

$ count = count ($ product_categories)؛
if (تعداد تعداد> 0) {
پژواک ""؛
}

13 - عنوان صفحه فروشگاه را جایگزین کنید

add_filter ('woocommerce_page_title' ، 'woo_shop_page_title')؛

عملکرد woo_shop_page_title ($ page_title)

if ('فروشگاه' == $ page_title) {
"عنوان جدید من" را برگردانید
}
}

14 - عنوان عنصر را تغییر دهید

/ *
* عنوان عنصر را تغییر دهید
* /
add_filter ('widget_title'، 'woo_widget_title'، 10، 3)؛

تابع woo_widget_title (عنوان $ ، نمونه مثال ، $ id_base) {

if ('onsale' == $ id_base) {
"عنوان جدید من" را برگردانید
}
}

15 - تنظیمات پیش فرض WooCommerce را حذف کنید

add_filter ('woocommerce_catalog_settings'، 'woo_remove_catalog_options')؛

عملکرد woo_remove_catalog_options (کاتالوگ $) {

تنظیم نشده (کاتالوگ $ [23])؛ // صاف کردن صفر (بدون)
تنظیم نشده است (کاتالوگ $ [22])؛ // 2 اعشار
تنظیم نشده است (کاتالوگ $ [21])؛ // سپرده اعشاری (.)
تنظیم نشده (کاتالوگ $ [20])؛ // هزار سپه (،)
تنظیم نشده (کاتالوگ $ [19])؛ // موقعیت ارز (سمت چپ)
تنظیم نشده (کاتالوگ $ [18])؛ // موقعیت ارز (سمت چپ)
تنظیم نشده است (کاتالوگ $ [5])؛ // افزودن آژاکس به سبد خرید (خیر)

بازگشت کاتالوگ $؛
}

16 - آدرس ایمیل "از" را تغییر دهید

عملکرد woo_custom_wp_mail_from ()
تجارت جهانی woocommerce؛
بازگشت html_entity_decode ('[email protected]')؛
}
add_filter ('wp_mail_from' ، 'woo_custom_wp_mail_from' ، 99)؛

17 - رمزگذاری نام از طریق ایمیل WooCommerce

عملکرد woo_custom_wp_mail_from_name ()
تجارت جهانی woocommerce؛
بازگشت html_entity_decode (get_option ('woocommerce_email_from_name'))؛
}
add_filter ('wp_mail_from_name' ، 'woo_custom_wp_mail_from_name' ، 99)؛

عملکرد woo_custom_wp_mail_from ()
تجارت جهانی woocommerce؛
بازگشت html_entity_decode (get_option ('woocommerce_email_from'))؛
}
add_filter ('wp_mail_from_name' ، 'woo_custom_wp_mail_from_name' ، 99)؛

18 - شناسه محصولات برجسته را برگردانید

عملکرد woo_get_featured_product_ids ()
// بار از حافظه نهان
$ featured_product_ids = get_transient ('wc_featured_products')؛

// حافظه نهان معتبر یافت شد
اگر (نادرست! == $ featured_product_ids)
$ featured_product_ids را برگردانید.

$ featured = get_posts (آرایه (
'post_type' => آرایه ("محصول" ، "product_variation"),
'posts_per_page' => -1,
'post_status' => 'انتشار',
'meta_query' => آرایه (
آرایه(
'key' => '_ قابلیت اطمینان',
'مقدار' => آرایه ("فهرست" ، "قابل مشاهده"),
'مقایسه' => 'IN'
),
آرایه(
'key' => '_featured',
'مقدار' => 'بله'
)
),
'زمینه' => 'id => پدر و مادر'
))؛

$ product_ids = array_keys ($ برجسته)؛
$ mother_ids = array_values ​​($ برجسته)؛
$ featured_product_ids = array_unique (array_merge ($ product_ids، $ mother_ids))؛

set_transient ('wc_featured_products'، $ featured_product_ids)؛

$ featured_product_ids را برگردانید.
}

19 - قسمت دلخواه را برای ویرایش صفحه آدرس اضافه کنید

// اضافه کردن زمینه برای ویرایش صفحه آدرس
عملکرد woo_add_edit_address_fields ($ زمینه) {

$ new_fields = آرایه (
'date_of_birth' => آرایه (
'label' => __ ('تاریخ تولد' ، 'تجارت جهانی'),
'لازم' => نادرست,
'class' => آرایه ('فرم ردیف'),
),
)؛

$ field = array_merge ($ فیلدها ، $ new_fields)؛

زمینه های $ بازگشت؛

}

add_filter ('woocommerce_default_address_fields'، 'woo_add_edit_address_fields')؛

20 - نمایش کوتاه کد کاتالوگ محصولات

عملکرد woocommerce_sale_products ($ atts)

woocommerce_loop $ جهانی؛

عصاره (کد کوتاه)
'per_page' => '12',
'ستون' => '4',
'orderby' => 'تاریخ',
'سفارش' => 'نزولی'
) ، $ atts))؛

$ woocommerce_loop ['ستون'] = $ ستون؛

$ args = آرایه (
'post_type' => 'محصول',
'post_status' => 'انتشار',
'ignore_sticky_posts' => 1,
'posts_per_page' => $ per_page,
'orderby' => $ سفارش,
'order' => $ order,
'meta_query' => آرایه (
آرایه(
'key' => '_ قابلیت اطمینان',
'مقدار' => آرایه ("فهرست" ، "قابل مشاهده"),
'مقایسه' => 'IN'
),
آرایه(
'key' => '_sale_price',
'مقدار' => 0,
'مقایسه' => '>',
'type' => 'NUMERIC'
)
)
)؛
query_posts ($ args)؛
ob_start ()؛
woocommerce_get_template_part ('حلقه' ، 'فروشگاه')؛
wp_reset_query ()؛

بازگشت ob_get_clean ()؛
}

add_shortcode ('sale_products'، 'woocommerce_sale_products')؛

21 - محصولات فروشی داشته باشید

عملکرد woo_have_onsale_products ()

تجارت جهانی woocommerce؛

// دریافت محصولات در فروش
$ product_ids_on_sale = array_filter (woocommerce_get_product_ids_on_sale ())؛

اگر (! خالی ($ product_ids_on_sale)) {
بازگشت درست است؛
} دیگه
بازگشت به دروغ؛
}

}

// مثال:
اگر (woo_have_onsale_products ()) {
echo "محصولات فروش داشته باشید"؛
} دیگه
echo 'no محصول فروش'؛
}

22 - حداقل مقدار سفارش را تعیین کنید

add_action ('woocommerce_checkout_process' ، 'wc_minimum_order_amount')؛
عملکرد wc_minimum_order_amount ()
تجارت جهانی woocommerce؛
حداقل $ = 50؛
if ($ woocommerce-> cart-> get_cart_total ()؛ < $minimum ) {
$woocommerce->add_error (sprintf ("برای سفارش خود باید حتماً حداقل٪ s سفارش دهید." ، حداقل $))؛
}
}

23 - سفارش در قیمت ، تاریخ و یا عنوان در صفحه فروشگاه

add_filter ('woocommerce_default_catalog_orderby'، 'custom_default_catalog_orderby')؛

تابع custom_default_catalog_orderby ()
بازگشت "تاریخ"؛ // همچنین می تواند از عنوان و قیمت استفاده کند
}

24 - اضافه کردن به دکمه سبد خرید به صفحه پرداخت

add_filter ('add_to_cart_redirect'، 'redirect_to_checkout')؛

تابع redirect_to_checkout () {
تجارت جهانی woocommerce؛
$ checkout_url = $ woocommerce-> cart-> get_checkout_url ()؛
$ checkout_url را بازگردانید
}

25 - در هنگام انجام سفارش ، گیرنده ایمیل را اضافه کنید

عملکرد woo_extra_email_recipient ($ گیرنده ، $ شی) {
$ گیرنده = $ گیرنده. '، [email protected]'؛
دریافت کننده $ بازگشت؛
}
add_filter ('woocommerce_email_recipient_customer_complected_order'، 'woo_extra_email_recipient'، 10، 2)؛

و ... این است! امیدوارم که این قطعه ها را پیدا کنید ، همه آنها مورد آزمایش قرار گرفتند و همه خوب کار می کنند ، اما اگر مشکلی را تجربه کردید ، لطفاً بخش نظرات را به من اطلاع دهید. خوش بگذره! ��

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