वर्डप्रेस के लिए मेरी 25 सर्वश्रेष्ठ WooCommerce स्निपेट्स

  1. 1. इस समय पढ़ना: वर्डप्रेस के लिए मेरी 25 सर्वश्रेष्ठ WooCommerce स्निपेट्स
  2. 2. वर्डप्रेस पार्ट 2 के लिए मेरा 25 सर्वश्रेष्ठ WooCommerce स्निपेट्स

टाइम्स उड़ता है … मुझे WooCommerce के लिए WooCommerce पूर्णकालिक तकनीकी विशेषज्ञ के रूप में काम करना शुरू करने में 6 महीने लग गए हैं। इन 6 महीनों के दौरान मैंने WooCommerce पर बहुत कुछ सीखा है और मैंने बहुत कुछ पढ़ा है बहुत!) WooCommerce संबंधित स्निपेट्स। वास्तव में, WooCommerce वास्तव में शक्तिशाली उपकरण है और आसानी से विस्तार योग्य है। इसके कई हुक हैं जिनका उपयोग लगभग हर चीज के लिए किया जा सकता है, और जो कि WooCommerce को इतना अच्छा बनाते हैं। यहाँ पिछले महीनों के दौरान मेरे द्वारा लिखे या अनुकूलित किए गए स्निपेट्स की एक सूची है; इन सभी स्निपेट को आपके थीम फ़ोल्डर में functions.php फ़ाइल में चिपकाया जाना चाहिए:


Contents

1 – WooCommerce व्यवस्थापक ईमेल में भुगतान प्रकार जोड़ें

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

function add_payment_method_to_admin_new_order ($ ऑर्डर, $ is_admin_nail) {
अगर ($ is_admin_email) {
गूंज '

भुगतान का तरीका: '। $ ऑर्डर-> भुगतान_मेथोड_टिटल। '

'; } }

2 – प्रति पृष्ठ / प्रति पंक्ति उत्पाद बेचता है

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

अगर (फंक्शन_एक्सिस्ट्स ('woocommerce_output_upsells')) {
फ़ंक्शन woocommerce_output_upsells () {
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', सरणी (सरणी)
'वर्गीकरण' => 'product_cat',
'फ़ील्ड' => 'स्लग',
'शर्तें' => सरणी ('रंग', 'स्वाद', 'मसाले', 'वेनिला'), // दुकान पृष्ठ पर इन श्रेणियों में उत्पादों को प्रदर्शित न करें
'ऑपरेटर' => 'नहीं'
)));

}

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_categories_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', 'variable_fields', 10, 2);
// नए बदलाव के लिए खेतों को जोड़ने के लिए जेएस
add_action ('woocommerce_product_after_variable_attributes_js', 'variable_fields_js');
// विभिन्नता क्षेत्रों को बचाएं
add_action ('woocommerce_process_product_meta_variable', 'variable_fields_process', 10, 1);

function variable_fields ($ लूप, $ वेरिएशन_डेटा) {?>


7 - "बेचा" द्वारा "स्टॉक से बाहर" बदलें

add_filter ('woocommerce_get_avucation', 'उपलब्धता_फिल्टर_फंक');

फ़ंक्शन उपलब्धता_फिल्टर_फ़न ($ उपलब्धता)
{
$ उपलब्धता ['उपलब्धता'] = str_ireplace ('स्टॉक से बाहर', 'बिक', $ उपलब्धता ['उपलब्धता']);
$ उपलब्धता वापस;
}

8 - "कार्ट में जोड़ें" बटन के बजाय "कार्ट में पहले से मौजूद उत्पाद" प्रदर्शित करें

/ **
* एकल उत्पाद पृष्ठों पर Add to Cart पाठ बदलें
* /
add_filter ('woocommerce_product_single_add_to_cart_text', 'woo_custom_cart_button_text');

फ़ंक्शन woo_custom_cart_button_text () {

वैश्विक $ woocommerce;

foreach ($ woocommerce-> कार्ट-> get_cart () $ cart_item_key => उचित मान) {
$ _product = $ मान ['डेटा'];

अगर (get_the_ID () == $ _product-> id) {
वापसी __ ('पहले से ही कार्ट में - फिर से जोड़ें?', 'woocommerce');
}
}

वापसी __ ('कार्ट में जोड़ें', 'वूकोमर्स');
}

/ **
* उत्पाद अभिलेखागार में Add to Cart पाठ बदलें
* /
add_filter ('add_to_cart_text', 'woo_archive_custom_cart_button_text');

समारोह woo_archive_custom_cart_button_text () {

वैश्विक $ woocommerce;

foreach ($ woocommerce-> कार्ट-> get_cart () $ cart_item_key => उचित मान) {
$ _product = $ मान ['डेटा'];

अगर (get_the_ID () == $ _product-> id) {
वापसी __ ('पहले से ही गाड़ी में', 'वूकोमर्स');
}
}

वापसी __ ('कार्ट में जोड़ें', 'वूकोमर्स');
}

9 - श्रेणी के दृश्य में उत्पादों को छिपाएं

add_filter ('woocommerce_subcategory_count_html', 'woo_remove_category_products_count');

फ़ंक्शन woo_remove_category_products_count () {
वापसी;
}

10 - खाता चेकआउट फ़ील्ड आवश्यक करें

add_filter ('woocommerce_checkout_fields', 'woo_filter_account_checkout_fields');

फ़ंक्शन woo_filter_account_checkout_fields ($ फ़ील्ड) {
$ फ़ील्ड ['खाता'] ['खाता_सुनाम'] [] आवश्यक ’] = सत्य;
$ फ़ील्ड ['खाता'] ['खाता_पासवर्ड'] ['आवश्यक ’] = सत्य;
$ फ़ील्ड ['खाता'] [_ खाता_पासवर्ड -2 ’] [] आवश्यक’] = सत्य;

$ फ़ील्ड वापस करें;
}

11 - एक उत्पाद टैब का नाम बदलें

add_filter ('woocommerce_product_tabs', 'woo_rename_tab', 98);
फ़ंक्शन woo_rename_tab ($ टैब) {

$ टैब ['विवरण'] ['शीर्षक'] = 'अधिक जानकारी';

$ टैब लौटाएं;
}

12 - सूची WooCommerce उत्पाद श्रेणियाँ

$ args = सरणी (
'संख्या' => $ संख्या,
'ऑर्डरबी' => $ ऑर्डरबी,
'ऑर्डर' => $ ऑर्डर,
'hide_empty' => $ hide_empty,
'शामिल' => $ आईडी
);

$ product_categories = get_terms ('product_cat', $ args);

$ गिनती = गिनती ($ product_categories);
अगर ($ गिनती> 0) {
गूंज "";
}

13 - शॉप पेज शीर्षक बदलें

add_filter ('woocommerce_page_title', 'woo_shop_page_title);

समारोह woo_shop_page_title ($ page_title) {

अगर ('शॉप' == $ page_title) {
वापसी "मेरा नया शीर्षक";
}
}

14 - एक विजेट शीर्षक बदलें

/ *
* विजेट शीर्षक बदलें
* /
add_filter ('widget_title', 'woo_widget_title', 10, 3);

फ़ंक्शन woo_widget_title ($ शीर्षक, $ उदाहरण, $ id_base) {

अगर ('ओन्सले' == $ 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 () {
// कैश से लोड
$ फीचर्ड_प्रोडोकैड्स = get_transient ('wc_featured_products');

// वैध कैश मिला
अगर (गलत! == $ फीचर्ड_प्रोडक्ट_आईडी)
$ फीचर्ड

$ चित्रित = get_posts (सरणी (
'post_type' => array ('product', 'product_variation'),
'पोस्ट_पर_पेज' => -1,
'पोस्ट_स्टैटस' => 'प्रकाशित',
'मेटा_क्वारी' => सरणी (
सरणी (
'कुंजी' => '_visibility',
'मान' => सरणी ('कैटलॉग', 'दृश्यमान'),
'तुलना' => 'में'
),
सरणी (
'कुंजी' => '_featured',
'मान' => 'हाँ'
)
),
'फ़ील्ड' => 'आईडी => माता-पिता'
));

$ product_ids = array_keys ($ फ़ीचर्ड);
$ parent_ids = array_values ​​($ फ़ीचर्ड);
$ फीचर्ड_प्रोडोकैड्स = अरेंज_निक (अरेंज_मेरेज ($ product_ids, $ parent_ids));

set_transient ('wc_featured_products', $ फ़ीचर_प्रोडक्ट_िड्स);

$ फीचर्ड
}

19 - पता पृष्ठ को संपादित करने के लिए कस्टम फ़ील्ड जोड़ें

// पता पृष्ठ संपादित करने के लिए फ़ील्ड जोड़ें
फ़ंक्शन woo_add_edit_address_fields ($ फ़ील्ड) {

$ new_fields = array (
'date_of_birth' => सरणी (
'लेबल' => __ ('जन्म तिथि', 'वूकोमर्स'),
'आवश्यक' => असत्य,
'वर्ग' => सरणी ('फॉर्म-पंक्ति'),
),
);

$ फ़ील्ड = array_merge ($ फ़ील्ड, $ new_fields);

$ फ़ील्ड वापस करें;

}

add_filter ('woocommerce_default_address_fields', 'woo_add_edit_address_fields');

20 - डिस्प्ले ओनली प्रोडक्ट्स कैटलॉग शोर्ट

फ़ंक्शन woocommerce_sale_products ($ atts) {

वैश्विक $ woocommerce_loop;

निकालने (shortcode_atts (सरणी (
'per_page' => '12',
'कॉलम' => '4',
'क्रम' => 'तिथि',
'ऑर्डर' => 'desc'
), $ एटीएस));

$ woocommerce_loop ['कॉलम'] = $ कॉलम;

$ args = सरणी (
'post_type' => 'उत्पाद',
'पोस्ट_स्टैटस' => 'प्रकाशित',
'ign_sticky_posts' => 1,
'पोस्ट_पर_पेज' => $ per_page,
'ऑर्डरबी' => $ ऑर्डरबी,
'ऑर्डर' => $ ऑर्डर,
'मेटा_क्वारी' => सरणी (
सरणी (
'कुंजी' => '_visibility',
'मान' => सरणी ('कैटलॉग', 'दृश्यमान'),
'तुलना' => 'में'
),
सरणी (
'कुंजी' => '_sale_price',
'मान' => ०,
'तुलना' => '>',
'टाइप' => 'न्यूमेरिक'
)
)
);
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 ()) {
इको 'ओनसेल प्रोडक्ट्स ’;
} अन्य {
गूंज 'कोई ओनली उत्पाद';
}

22 - न्यूनतम आदेश राशि निर्धारित करें

add_action ('woocommerce_checkout_process', 'wc_minimum_order_amount');
फ़ंक्शन wc_minimum_order_amount () {
वैश्विक $ woocommerce;
$ न्यूनतम = 50;
अगर ($ woocommerce-> गाड़ी-> 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');

फंक्शन रीडायरेक्ट_टो_चेकआउट () {
वैश्विक $ woocommerce;
$ checkout_url = $ woocommerce-> गाड़ी-> get_checkout_url ();
$ चेकआउट_उरल लौटाएँ;
}

25 - ऑर्डर पूरा होने पर ईमेल प्राप्तकर्ता जोड़ें

फ़ंक्शन woo_extra_email_recipient ($ प्राप्तकर्ता, $ ऑब्जेक्ट) {
$ प्राप्तकर्ता = $ प्राप्तकर्ता। ', [email protected]';
$ प्राप्तकर्ता लौटाएं;
}
add_filter ('woocommerce_email_recipient_customer_completed_order', 'woo_extra_email_recipient', 10, 2);

और बस! मुझे आशा है कि आप इन स्निपेट्स को उपयोगी पाएंगे, इन सभी का परीक्षण किया गया था और वे सभी ठीक काम करते हैं, लेकिन अगर आप किसी भी परेशानी का अनुभव करते हैं तो कृपया मुझे टिप्पणी अनुभाग को बताएं। मज़े करो! ��

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me