2014-09-17 8 views
7

कार्ट बटन में जोड़ने पर क्लिक करते समय, Woocommerce संदेश दिखाता है, कार्ट देखता है, मैं इस संदेश को संपादित करना चाहता हूं, वास्तव में सभी अवधि संपादित करना, कुछ आइकन आदि डालना चाहता हूं। ..Woocommerce, "कार्ट में जोड़ा गया" संदेश कैसे संपादित करें

+0

आप कार्ट में या उत्पाद पृष्ठों पर AJAX जोड़ पर संदेश बदलना चाहते हैं? – Abstract

+0

हां, यह संदेश जो केवल "कार्ट देखें" कहता है, मैं इसे संपादित करना चाहता हूं, मैंने सीएसएस "पहले" का उपयोग करके कक्षा को संपादित करने का प्रयास किया था, लेकिन नतीजा इतना अच्छा नहीं है ... – Dante

उत्तर

-7

इसे बदलने के लिए, प्लगइन तो इस मार्ग का अनुसरण woocommerce पर जाएँ:

/includes/class-wc-frontend-scripts.php लाइन नंबर: 157

+0

मैं इसे संपादित करना चाहता हूं, लेकिन संपादन के बिना कोर, मैंने अपनी थीम पर woocommerce फ़ोल्डर बनाया है, लेकिन मुझे यह फ़ाइल इस संदेश को संपादित करने के लिए नहीं मिली है, क्या इसे संपादित करने का कोई और तरीका है? – Dante

+3

सावधान रहें! कोर फ़ाइलों को सीधे संपादित करने का प्रयास न करें। हमेशा 'बच्चों के थीम' में 'फ़िल्टर' या 'टेम्पलेट्स' के लिए जाएं। हमेशा ऐसा होता है जिसे आप ढूंढ रहे हैं। –

4

आप की तरह एक फिल्टर की कोशिश की है निम्नलिखित

function your_add_to_cart_message() { 
if (get_option('woocommerce_cart_redirect_after_add') == 'yes') : 
    $message = sprintf('%s<a href="%s" class="your-style">%s</a>', __('Successfully added to cart.', 'woocommerce'), esc_url(get_permalink(woocommerce_get_page_id('shop'))), __('Continue Shopping', 'woocommerce')); 
else : 
    $message = sprintf('%s<a href="%s" class="your-class">%s</a>', __('Successfully added to cart.' , 'woocommerce'), esc_url(get_permalink(woocommerce_get_page_id('cart'))), __('View Cart', 'woocommerce')); 
endif; 
return $message; 
} 
add_filter('wc_add_to_cart_message', 'your_add_to_cart_message'); 

ajax संदेश अद्यतन करने के लिए जवाब में की तरह की कोशिश एक अनुवाद समारोह:

function your_woo_ajax_solution($translation, $text, $domain) { 
    if ($domain == 'woocommerce') { // your domain name 
    if ($text == 'View Cart') { // current text that shows 
     $translation = 'Basket updated.'; // The text that you would like to show 
    } 
    } 

    return $translation; 
} 
add_filter('gettext', 'your_woo_ajax_solution', 10, 3); 
+1

यह फ़ंक्शन अच्छा है, लेकिन मैं कार्ट सूची में AJAX जोड़ने पर उत्पाद सूची पर संदेश बदलना चाहता हूं, इस फ़ंक्शन ने केवल एकल उत्पाद पृष्ठ पर संदेश बदल दिया है। – Dante

1

आप add-to-cart.js को देखें, तो यह कार्ट में उत्पाद जोड़ने पर एक ट्रिगर added_to_cart सक्रिय करता है। मैंने उसमें लगाया और

jQuery(document.body).on("added_to_cart", function(data) { 
    jQuery('button.added').nextAll().remove(); 
    jQuery('button.added').after(' <span style="text-align:center;display:block;" class="cart_updated_ajax"><a href="' + wc_add_to_cart_params.cart_url + '" title="' + 
          wc_add_to_cart_params.i18n_view_cart + '">Cart Updated</a></span>'); 
}); 

यहां कार्ट में उत्पाद जोड़ने के बाद आप कुछ भी जोड़ सकते हैं।

आशा है कि मदद करता है!

10

अपनी थीम/functions.php पर एक फ़िल्टर जोड़ें। नीचे दिया गया कोड मौजूदा $ संदेश को ओवरराइड करता है। यह लगभग एक समान संदेश के साथ $ संदेश को ओवरराइट करता है जो संदेश के लिए "चेकआउट" लिंक तैयार करता है।

सुनिश्चित करें कि आप $ संदेश वापस कर लें।

आप निश्चित रूप से मौजूदा संदेश को संशोधित कर सकते हैं, क्योंकि पूरी चीज पहले पैरा या $ संदेश var के माध्यम से एक स्ट्रिंग के रूप में पारित की जाती है।

add_filter ('wc_add_to_cart_message', 'wc_add_to_cart_message_filter', 10, 2); 
function wc_add_to_cart_message_filter($message, $product_id = null) { 
    $titles[] = get_the_title($product_id); 

    $titles = array_filter($titles); 
    $added_text = sprintf(_n('%s has been added to your cart.', '%s have been added to your cart.', sizeof($titles), 'woocommerce'), wc_format_list_of_items($titles)); 

    $message = sprintf('%s <a href="%s" class="button">%s</a>&nbsp;<a href="%s" class="button">%s</a>', 
        esc_html($added_text), 
        esc_url(wc_get_page_permalink('checkout')), 
        esc_html__('Checkout', 'woocommerce'), 
        esc_url(wc_get_page_permalink('cart')), 
        esc_html__('View Cart', 'woocommerce')); 

    return $message; 
} 
+1

धन्यवाद, यह मेरे लिए काम किया। –

+1

यह समाधान अब काम नहीं कर रहा है। डब्ल्यूसी 3.0 को 'wc_add_to_cart_message_hessage' और 'wc_add_to_cart_message_filter' के बजाय "wc_add_to_cart_message_html" का उपयोग करने की आवश्यकता है – GauchoCode

0

Woocommerce 3.0 में "wc_add_to_cart_message" अप्रचलित है और अब काम करता है। इसलिए जब @zmonteca द्वारा जवाब ठीक था, अब Woocommerce 3.0

पर काम कर रहा है बस के साथ "wc_add_to_cart_message_html" और voile "wc_add_to_cart_message" की जगह ... काम करता है।

add_filter ('wc_add_to_cart_message', 'wc_add_to_cart_message_filter', 10, 2); 
function wc_add_to_cart_message_filter($message, $product_id = null) { 
$titles[] = get_the_title($product_id); 

$titles = array_filter($titles); 
$added_text = sprintf(_n('%s has been added to your cart.', '%s have been added to your cart.', sizeof($titles), 'woocommerce'), wc_format_list_of_items($titles)); 

$message = sprintf('%s <a href="%s" class="button">%s</a>&nbsp;<a href="%s" class="button">%s</a>', 
       esc_html($added_text), 
       esc_url(wc_get_page_permalink('checkout')), 
       esc_html__('Checkout', 'woocommerce'), 
       esc_url(wc_get_page_permalink('cart')), 
       esc_html__('View Cart', 'woocommerce')); 

return $message;} 
संबंधित मुद्दे