2016-05-14 10 views
6

पर आधारित WooCommerce के "कार्ट में जोड़ें" बटन के बगल में कस्टम बटन, मैं मुख्य दुकान पृष्ठ पर उत्पाद प्रकार के आधार पर WooCommerce के "कार्ट में जोड़ें" बटन के बगल में एक कस्टम बटन "व्यू डेमो" जोड़ना चाहता हूं, एकल उत्पाद पृष्ठउत्पाद प्रकार

जोड़ें कोड विषय फाइल करने के लिए header.php:

<script>var url_demo = "<?php echo the_field('url_demo'); ?>"</script> 

"टीसी कस्टम JavaScript" प्लगइन का उपयोग कर jQuery स्क्रिप्ट जोड़ें:

मैं इस चरणों किया है

jQuery(function($) { 
$('.add_to_cart_button, .single_add_to_cart_button').after(' <a class="button demo_button" style="padding-right: 0.75em;padding-left: 0.75em;margin-left: 8px; background-color: #0ebc30;" href="'+url_demo+'" target="_blank">View Demo</a>'); 
}); 

यह काम है, मुख्य दुकान पृष्ठ और एकल उत्पाद पृष्ठ पर दिखाया गया कस्टम बटन "डेमो देखें"।

लेकिन मुझे अब कुछ समस्या है, "डेमो देखें" बटन लिंक केवल एकल उत्पाद पृष्ठ पर सही है, जबकि दुकान के मुख्य पृष्ठ पर "डेमो देखें" बटन, उसी यूआरएल से लिंक करें। क्या मेरा कोड गलत है?

मेरे प्रश्न हैं, "डेमो देखें" बटन (मुख्य दुकान पृष्ठ और एकल उत्पाद पृष्ठ पर दोनों) को जोड़ने के लिए, जो केवल स्पेशिफिश उत्पाद प्रकार के लिए दिखाते हैं, उदाहरण के लिए केवल श्रेणी थीम पर दिखाएं? आखिरकार, उपरोक्त विधि की तरह header.php फ़ाइल को संपादित किए बिना डेमो लिंक जोड़ने का कोई अन्य तरीका है? थीम अपडेट होने पर मुझे बस header.php फ़ाइल रीसेट की उम्मीद है।

+0

क्या आप अपनी वेबसाइट पर एक लिंक प्रदान कर सकते हैं? – LoicTheAztec

+0

निश्चित रूप से, यहां [लिंक] है (http://akunikah.com/shop/) – Firman

+0

मुझे पिछली बार मेरे प्रश्न पर आपका उत्तर प्रदर्शित करने के लिए खेद है। मैंने इसे हटा दिया है। मैंने आपका अंतिम _UPDATED 2_ उत्तर लागू किया है, और मेरा वेब नीचे जा रहा है और इसका उपयोग नहीं किया जा सकता है, मुझे नहीं पता क्यों। फिर, मैं functions.php को डिफ़ॉल्ट रूप से रीसेट करता हूं और वेब फिर से ऑनलाइन जा रहा है। और अब, मैं सिर्फ 'get_field()' का उपयोग करके अपने _UPDATE_ को लागू करता हूं, यह बहुत अच्छा काम है। सब कुछ ठीक है जो मैं चाहता हूं। आपके उत्तर के लिए धन्यवाद, मेरी समस्या हल हो गई। – Firman

उत्तर

4

मैं यह करने के दूसरे तरीके से उपयोग कर रहा हूँ: WooCommerce हुक

आप अब, jQuery स्क्रिप्ट और भी अपने header.php फ़ाइल में स्थित जावास्क्रिप्ट की जरूरत नहीं है ताकि आप उन्हें मिटा सकते हैं।

get_field()the_field (धन्यवाद Deepti chipdey करने के लिए) के बजाय का उपयोग केवल echoed स्ट्रिंग में concatenated मूल्य मिलता है।

अपने function.php अपने सक्रिय बच्चा विषय या विषय फ़ोल्डर में स्थित फ़ाइल में इस कोड स्निपेट पेस्ट करें:

function wc_shop_demo_button() { 
    echo '<a class="button demo_button" style="padding-right: 0.75em;padding-left: 0.75em;margin-left: 8px; background-color: #0ebc30;" href="'.get_field("url_demo").'" target="_blank">View Demo</a>'; 
} 
add_action('woocommerce_after_shop_loop_item', 'wc_shop_demo_button', 20); 
add_action('woocommerce_after_add_to_cart_button', 'wc_shop_demo_button', 20); 

मेरे द्वारा लक्षित प्रदर्शित किया जाता हुक दुकान पृष्ठ पर कार्ट में जोड़ें बटन है और एकल उत्पाद पृष्ठों में, अपने प्रदर्शित करने के लिए डेमो बटन देखें, प्राथमिकता को कम करें।

+0

मैं यह चरण पूरा कर लिया है। लेकिन यह अजीब लगता है, बटन के लिंक बटन के बाहर जगह हैं, पर इस [एस एस] (http://prntscr.com/b46nj8) देखने के लिए, और इस पर [एकल उत्पाद पृष्ठ] (http://prntscr.com/b46o8o)। और बटन अभी भी "थीम" उत्पाद श्रेणी पर नहीं दिखाया गया है। क्या मैं गलत कर रहा हूँ? – Firman

2

बदलें

the_field('url_demo'); 

get_field('url_demo'); 
+0

यह एएफसी कोड the_field डिफ़ॉल्ट रूप से कोड गूंज लेकिन आप चर –

+0

में मूल्य get_filed दे देंगे यह the_field डिफ़ॉल्ट रूप से फ़ील्ड मान गूंज एएफसी कोड है, लेकिन आप चर –

+0

धन्यवाद दीप्ति में मूल्य get_filed दे देंगे है, यह उपयोगी है – Firman

1

किसी कारण से LoicTheAztec करने के answer मेरे लिए यह नहीं किया।

function wc_shop_demo_button() { 
    echo '<a class="button demo_button" href="'.get_field("url_demo").'" target="_blank">View Demo</a>'; 
} 
add_action('woocommerce_after_add_to_cart_button', 'wc_shop_demo_button'); 

आशा है कि उनकी यात्रा में किसी को मदद करता है:

यहाँ क्या काम किया है।

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