Woocommerce में कीमतों और चेकआउट कार्यक्षमता को छिपाएं


17

मुझे पता है कि यह सवाल बहुत व्यापक हो सकता है, लेकिन मैं थोड़ी सी दिशा तलाश रहा हूं। मेरे ग्राहक के पास 30-40 उत्पादों के साथ एक वूकोमर्स स्टोर है। जिस भी कारण से वे अब ऑनलाइन बेचना नहीं चाहते हैं, लेकिन वे अपनी वेबसाइट पर उत्पाद पृष्ठों, सूचनाओं आदि को बनाए रखना चाहते हैं।

क्या कोई तरीका है, हुक का उपयोग करना या अन्यथा, वूमोकॉमर्स में कीमतों को छिपाने के लिए, कार्ट बटन आदि को जोड़ना? या मैं बस php टेम्पलेट फ़ाइलों को संपादित करना चाहिए?

जवाबों:


23

सौभाग्य से woocommerce के कई हुक हैं, इससे कीमतें और बटन हटते हैं:

remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart' );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10 );

आप खुदाई कर सकते हैं content-product.phpऔर content-single-product.phpयदि आपको अधिक सामान निकालने की आवश्यकता है।

मैं कल्पना कर सकता हूं कि आपके द्वारा छिपाए / हटाए जाने के लिए केवल कीमतों / बटन से अधिक है (जैसे पृष्ठ / फ़ंक्शन), यह ट्यूटोरियल आपको कुछ संकेत देता है


क्या मैं यह सोचने में सही हूं कि उन हुक को फ़ंक्शन में डाला जाना चाहिए। एफपी? यदि ऐसा है, तो क्या मुझे एक विशेष खंड की आवश्यकता है, जिसमें मैं उन्हें डालूं? यदि वे काम करते हैं, तो संभवतः गाड़ी की कार्यक्षमता अब दिखाई नहीं देगी, एक तरफ कुछ स्टाइल से, क्या यह सही है?
जेम्स

1
हाँ, आप उन्हें फंक्शन्स में डाल सकते हैं। एफपी और यह मायने नहीं रखता कि आपने उन्हें दूसरे फंक्शन में कहाँ रखा है। आमतौर पर फ़ाइल के अंत में सभी तरीके सबसे सुरक्षित होते हैं, जब तक कि आप उन्हें अंतिम के बाद नहीं डालते हैं ?>। यह कार्ट पेज को नहीं हटाएगा, लेकिन यह वास्तव में कार्ट में कुछ भी जोड़ने की संभावना को हटा देगा। अगर आपको कहीं भी कार्ट पेज पसंद नहीं है तो आपको अपेक्षाकृत सुरक्षित होना चाहिए।
Ewout

यह काम करता हैं। लेकिन यह अजीब है। इसे लागू करने के बाद, उत्पाद छवियां दिखाई देना बंद हो गईं। यह उनके स्थान के लिए एक खाली जगह दिखाता है, और जब मैं माउस को उनके ऊपर से गुजरता हूं और उन्हें क्लिक करता हूं तो वे मुझे उचित छवि दिखाते हैं। क्या आपको अंदाजा है कि ऐसा क्यों हो रहा है?
ब्रेथलॉज़

13

उपरोक्त कोड (धन्यवाद Ewout) का विस्तार करते हुए, निम्नलिखित कोड को सभी कीमतों से छुटकारा मिल जाएगा और सभी woocommerce उत्पादों पर 'कार्ट में जोड़ें' बटन के साथ-साथ एक स्पष्टीकरण भी प्रदान करना होगा कि क्यों। मुझे एक वेबसाइट के लिए कोड की आवश्यकता थी जो प्रत्यक्ष बिक्री उत्पाद प्रदान करती है और उनके नियमों का पालन करने के लिए, मैं आम जनता को कीमतें नहीं दिखा सकता।

अपने विषय के functions.php फ़ाइल में फ़िल्टर जोड़ें।

    add_filter('woocommerce_get_price_html','members_only_price');

    function members_only_price($price){

if(is_user_logged_in() ){
    return $price;
}

else {
    remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart' );
    remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
    remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
    remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10 );
    return 'Only <a href="' .get_permalink(woocommerce_get_page_id('myaccount')). '">Registered Users</a> are able to view pricing.';
      }

}

यह अजीब है। इसे लागू करने के बाद, उत्पाद छवियां दिखाई देना बंद हो गईं। यह उनके स्थान के लिए एक खाली जगह दिखाता है, और जब मैं माउस को उनके ऊपर से गुजरता हूं और उन्हें क्लिक करता हूं तो वे मुझे उचित छवि दिखाते हैं। क्या आपको अंदाजा है कि ऐसा क्यों हो रहा है?
ब्रेथलॉज़

यह कोड WooCommerce v 3.2.1:-)
स्टीव

1
add_filter( 'woocommerce_is_purchasable', '__return_false' );
add_filter( 'woocommerce_get_price_html', '__return_empty_string' );

यह पूरी तरह से चेकआउट को रोक देगा और सभी कीमतों को छिपा देगा:

  • सभी उत्पाद को गैर-खरीदने योग्य बनाना (पंक्ति 1)
  • खाली कीमत HTML (पंक्ति 2)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.