2012-09-17 6 views
7

सुनिश्चित नहीं है कि मैंने इसे सही तरीके से लिखा है लेकिन मूल रूप से मैं केवल प्लगइन सीएसएस/जेएस को उन पृष्ठों पर लोड करना चाहता हूं जो वास्तविक प्लगइन का उपयोग करते हैं .. मुझे यह बहुत कुछ मिला है प्लग-इन के भीतर wp_enqueue_script में इस्तेमाल किसी भी हैंडल के लिए प्लगइन फ़ाइलों के माध्यम से खोज और बस wp_dequeue_script उन्हें functions.php मेंवर्डप्रेस स्क्रिप्ट/शैली को अस्वीकार नहीं कर सकता है जिसमें क्वेरी

हालांकि, वहाँ शैली के लिए कुछ enqueues कि एक .php और नहीं एक सीएसएस फ़ाइल को शामिल उदाहरण के लिए, कर रहे हैं .. में प्लगइन यह एक फ़ाइल

wp_enqueue_style("myrp-stuff", MYRP_PLUGIN_URL . "/myrp-hotlink-css.php"); 

तो मैं कोशिश की है enqueues:

wp_dequeue_style('myrp-stuff'); 
wp_deregister_style('myrp-stuff'); 

यह काम नहीं करता है

हालांकि, जब पेज/पोस्ट प्रदान की गई है यह पता चलता है के रूप में

<link rel='stylesheet' id='myrp-stuff-css' href='http://www.modernlogic.co/wp/wp-content/plugins/MyRP/myrp-hotlink-css.php?ver=3.4.2' type='text/css' media='all' /> 

यह आईडी पर -css addes और यह/अपंजीकृत कर विपंक्ति और होना करने के लिए मना कर दिया ले जाया गया।

मैं भी कोई भाग्य

wp_dequeue_style('myrp-stuff-css'); 
wp_deregister_style('myrp-stuff-css'); 

कोई सुझाव के साथ निम्नलिखित की कोशिश की? ?:

+0

अगर कोई मुझे इस में मदद कर सकता है तो प्यार करेगा :-( –

उत्तर

8

बस सुनिश्चित करने के लिए, आप एक समारोह इस तरह एक क्रिया द्वारा कॉल के अंदर अपना कोड रखा है

add_action('wp_enqueue_scripts', 'dequeue_function'); 
function dequeue_function() { 
    wp_dequeue_style(array('myrp-stuff', 'myrp-stuff-css')); 
    wp_deregister_style(array('myrp-stuff', 'myrp-stuff-css')); 
} 
13

स्क्रिप्ट और शैलियों किसी भी क्रम में कतारबद्ध किया जा सकता है और किसी भी समय से पहले wp_print_* कार्रवाई ट्रिगर कर रहे हैं पर। जो उत्पादन से पहले कतार से उन्हें हटाने में मुश्किल हो सकता है।

डेक्यू काम को उच्च प्राथमिकता के साथ wp_print_styles या wp_print_scripts में लगातार हुक करने के लिए, क्योंकि इससे आउटपुट से पहले स्क्रिप्ट और शैलियों को हटा दिया जाएगा।

अपने प्लगइन लोडर कोड या में

उदाहरण के लिए टेम्पलेट के functions.php फ़ाइल आप इस तरह एक समारोह और कार्रवाई हुक हो सकता है:

function remove_assets() { 
    wp_dequeue_style('myrp-stuff'); 
    wp_deregister_style('myrp-stuff'); 
} 
add_action('wp_print_styles', 'remove_assets', 99999); 

(add_action को तीसरा तर्क) एक उच्च priority स्थापना जब कार्रवाई में hooking में मदद मिलेगी सुनिश्चित करें कि कॉलबैक remove_assets स्क्रिप्ट/शैलियों को मुद्रित करने से ठीक पहले, अंतिम कहलाता है।

ध्यान दें, जबकि इस तकनीक लिपियों दूर करने के लिए वैध है/शैलियों यह एसेट जोड़ने के लिए इस्तेमाल किया जा should't। अधिक जानकारी के लिए यह Wordpress Core blog post देखें।

+0

वाह, धन्यवाद leepowers, मुझे कई बार स्क्रिप्ट को हटाने के साथ समस्याएं थीं ... यह वास्तव में चाल है! – Adal

+0

मेरे लिए भी हल समस्या। + 1 – Hoshts

+0

मैं आपको एक बियर देना चाहता हूं, @ नींद – cabgfx

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