2014-10-04 10 views
10

मैं यह पता लगाने की कोशिश कर रहा हूं कि WooCommerce में सफलता, त्रुटि या सूचना होने पर WooCommerce कहां संदेश बनाता है। मैं परिदृश्य को फिट करने के लिए उन संदेशों को संपादित करना चाहता हूं और HTML को भी संपादित करना चाहता हूं। ये संदेश कहां स्थित हैं और मैं उन्हें कैसे संपादित करूं?WooCommerce नोटिस संदेश, मैं उन्हें कैसे संपादित करूं?

+0

त्रुटियाँ स्थानों के एक बहुत में दिखाई देते हैं ... कौन सा त्रुटियों आप चिंतित हैं साथ में? – rnevius

+0

कोई भी जगह नहीं है जहां इन सभी त्रुटियों/नोटिस/सफलता संदेश उत्पन्न होते हैं? – Majo0od

+0

नहीं, चेकआउट प्रक्रिया, कार्ट, व्यवस्थापक इत्यादि के लिए त्रुटियां हैं। आप किस त्रुटि का जिक्र कर रहे हैं? – rnevius

उत्तर

9

उनमें से कई प्लगइन फाइलों में सीधे कर रहे हैं। कुछ संदेश फिल्टर हुक से बंधे होते हैं जो आपको प्लगइन फ़ाइलों के साथ गड़बड़ किए बिना उन्हें संपादित करने की अनुमति देते हैं लेकिन यह हमेशा ऐसा नहीं होता है।

जिस संदेश को आप बदलना चाहते थे वह था "उत्पाद नाम सफलतापूर्वक आपके कार्ट में जोड़ा गया था"। यह एक WC-गाड़ी-functions.php में समारोह wc_add_to_cart_message में सेट कर दिया जाता है और इस समारोह आप एक फिल्टर का उपयोग कर इसे बदलने के लिए अनुमति देता है:

:

wc_add_notice(apply_filters('wc_add_to_cart_message', $message, $product_id)); 

तो अपने functions.php फ़ाइल में आप की तरह कुछ जोड़ सकता है

add_filter('wc_add_to_cart_message', 'handler_function_name', 10, 2); 
function handler_function_name($message, $product_id) { 
    return "Thank you for adding product" . $product_id; 
} 
+4

सही नहीं हुआ, लेकिन 'apply_filters' के बजाय आपको' add_filter' – Broshi

+0

का उपयोग करना चाहिए और यह 'add_filter (' filter ',' function ', 10, 2) होना चाहिए; ', ** 10 ** प्राथमिकता और ** 2 ** तर्कों की संख्या ('$ product_id' को पकड़ने के लिए आवश्यक है। – brasofilo

8

ओपन प्लगइन फ़ाइलें और wc_add_notice के लिए खोज:

apply_filters('woocommerce_add_' . $notice_type, $message); 

$notice_type दूसरा उन सभी घटनाओं में पारित तर्क है:

यह समारोह एक फिल्टर है।

का उपयोग करते हुए कुछ इस तरह काम करना चाहिए: - दुर्भाग्य से

add_filter('woocommerce_add_error', function($message) { 
    if($message == 'Some message') 
     $message = ''; 

    return $message; 
}); 
+1

बस आप के लिए एक सिर और रुचि रखने वाले किसी और के लिए। आप wc-Notice-functions.php फ़ाइल में नोटिस के लिए फ़ंक्शन पा सकते हैं जो फ़ोल्डर में स्थित है। – Majo0od

+0

"कार्ट देखें * उत्पाद नाम * जैसे कुछ और गतिशील रूप से जेनरेट किए गए संदेशों के बारे में कैसे आपके कार्ट में सफलतापूर्वक जोड़ा गया" – Majo0od

+0

मेरे पास कोई सेटअप नहीं है जहां मैं इसका परीक्षण कर सकता हूं। क्या आपने फ़िल्टर पर पहुंचने वाले संदेशों का निरीक्षण करने का प्रयास किया था? – brasofilo

2

फिल्टर यहाँ उल्लेख संदेश ही संपादन के लिए ठीक काम करते हैं, लेकिन अगर आप नोटिस संदेश वाले वास्तविक HTML मार्कअप संपादित करना चाहते हैं, तो आप templates > notices के तहत नोटिस टेम्पलेट का उपयोग करने की आवश्यकता है।

यहां तीन अलग-अलग फाइलें हैं, प्रत्येक अलग-अलग प्रकार के नोटिस के लिए। मेरे मामले में, मैं सफलतापूर्वक नोटिस लागू कूपन में एक वर्ग जोड़ना चाहता था, इसलिए मैंने अपनी थीम फ़ाइल में success.php की प्रतिलिपि बनाई। मेरा कोड तब नीचे जैसा दिखता है:

<?php foreach ($messages as $message) : ?> 
    <?php 
     $om_css_class = ""; 
     if ($message == "Coupon code applied successfully.") { 
      $om_css_class = "coupon-notice-msg"; 
     } 
    ?> 
    <div class="woocommerce-message <?php echo $om_css_class; ?>"><?php echo wp_kses_post($message); ?></div> 
<?php endforeach; ?> 
2

मैं इस उत्तर में आया और उत्पादन साइट के लिए आवेदन करने में सक्षम था। यह उत्तर woocommerce त्रुटि कोड नोटिस से संबंधित है। आपको अलग-अलग वर्ग फ़ाइलों में कोड ढूंढना होगा (~ woocommerce/include /)। मेरा उद्देश्य के लिए कोड में था ~ woocommerce/शामिल/वर्ग WC-coupon.php

/** 
* Modify the coupon errors: 
*/ 

add_filter('woocommerce_coupon_error', 'wpq_coupon_error', 10, 2); 

function wpq_coupon_error($err, $err_code) { 
    return ('103' == $err_code) ? '' : $err; 
} 

इस पेज के लिए धन्यवाद: http://wpquestions.com/WooCommerce_Remove_Coupon_code_already_applied_error_message/10598

संबंधित मुद्दे