वर्डप्रेस में .css का संस्करण कैसे बदलें?


13

जैसे शीर्षक बताता है, मुझे भी यकीन नहीं है कि अपनी थीम में .css फ़ाइल का संस्करण कैसे बदला जाए। फिलहाल .css संस्करण इस तरह है:

<link rel='stylesheet' id='xxxx'  href='https://www. site css/ styles.css?ver=4.6.1' type='text/css' media='all' />

क्या कोई स्क्रिप्ट है जिसे मुझे चलाने की आवश्यकता है - मुझे संस्करण 4.6.2 को ऊपर के रूप में बनाने की तलाश में कहां होना चाहिए?


आप इस स्क्रिप्ट को कैसे प्रिंट कर रहे हैं?
नाथन पॉवेल

जवाबों:


18

चौथा तर्क, $verके लिए wp_enqueue_style()आप संस्करण स्थापित करने के लिए अनुमति देता है:

wp_enqueue_style( string $handle,
                  string $src = false,
                  array $deps = array(),
                  string|bool|null $ver = false,
                  string $media = 'all' );

डॉक्स के अनुसार:

$ ver (string | bool | null) (वैकल्पिक) स्ट्रिंग स्टाइलशीट वर्जन नंबर को निर्दिष्ट करना, अगर इसमें एक है, जो URL में कैश बस्टिंग उद्देश्यों के लिए क्वेरी स्ट्रिंग के रूप में जोड़ा गया है। यदि संस्करण गलत पर सेट है, तो एक संस्करण संख्या स्वचालित रूप से वर्तमान स्थापित वर्डप्रेस संस्करण के बराबर जोड़ दी जाती है। यदि शून्य पर सेट किया जाता है, तो कोई संस्करण नहीं जोड़ा जाता है। डिफ़ॉल्ट मान: false


इसके लिए धन्यवाद - मुझे लगता है कि मैं जो पूछ रहा हूं वह है 'मैं कैसे करूं' - यानी 'मैं नया संस्करण बनाने के लिए उस स्क्रिप्ट को कैसे चलाऊं'? आशा है कि समझ में आता है ...
henry

क्या आप अपने प्रश्न को उस कोड के साथ अपडेट करेंगे जहां wp_enqueue_style()कहा जाता है? वर्डप्रेस $verअपने उत्तर में पोस्ट किए गए स्पष्टीकरण के आधार पर स्वचालित रूप से संस्करण को संभालता है , इसलिए मैं मान रहा हूं कि $ ver झूठे पर सेट है। यदि आप इसे बदलना चाहते हैं, तो $ ver तर्क को एक नए स्ट्रिंग में बदलें (मैं 4.6.2 का उपयोग नहीं करूंगा क्योंकि उस सम्मेलन का उपयोग पहले से ही वर्डप्रेस द्वारा किया जाता है), लेकिन तकनीकी रूप से यह काम करेगा।
डेव रोमसे

1
आप आसानी से वहाँ कुछ भी स्थानापन्न कर सकते हैं। उदाहरण के लिए $ver = time();हर बार जब आप पृष्ठ को हिट करते हैं तो एक नया संस्करण बनाते हैं, और संस्करण समय होगा।
नाथन पॉवेल

8

अधिकतर विषय के उपयोग wp_enqueue_style()समारोह उनके functions.php फ़ाइल के अंदर शीर्षक में शैली पत्रक जोड़ने के लिए। यहां बताया गया है कि कैसे पता करें कि आपकी थीम समान है।

अपनी wp-content/themes/YOUR_THEME_NAME/functions.phpफ़ाइल खोलें , और स्टाइल शीट को जोड़ने वाली लाइन का पता लगाएं, जैसे:

wp_enqueue_style('main_style',  get_stylesheet_directory_uri() . '/style.css');

या पसंद करें:

wp_enqueue_style( 'twentysixteen-style', get_stylesheet_uri() );

आप आईडी के लिए खोज कर सकते हैं ( -cssभाग को छोड़कर ) ... यदि आईडी है: main_style-cssबस main-styleअपने कार्यों के लिए खोज करें। एफपीपी फ़ाइल, और आपको संभवतः उस कोड की पंक्ति मिलनी चाहिए जिसे आप खोज रहे थे।

अब जब आपको कोड मिल गया है और आप जानते हैं कि आपका विषय इस स्टाइलशीट wp_enqueue_style()को functions.php फाइल में इस्तेमाल करके जोड़ता है । आपको संस्करण के लिए इस कोड को अपडेट करना होगा।

$style_ver = filemtime( get_stylesheet_directory() . '/style.css' );
wp_enqueue_style( 'main_style', get_stylesheet_directory_uri() . '/style.css', '', $style_ver );

जैसा कि आप देख सकते हैं, इस कोड को filemtime()PHP फ़ंक्शन का उपयोग करके style.css फ़ाइल का अंतिम संशोधित समय मिलता है और यह time()चीजों को साफ बनाने के लिए PHP फ़ंक्शन का उपयोग करके टाइमस्टैम्प में समय को परिवर्तित करता है ।

यदि आप नहीं चाहते कि संस्करण हर बार गतिशील रूप से बदल जाए तो आप यह कर सकते हैं:

wp_enqueue_style( 'main_style', get_stylesheet_directory_uri() . '/style.css', '', '1.5' );

तो इतना ही है। शांति!


सिर ऊपर: आप का उपयोग करना चाहिए get_stylesheet_directory()के filemtime()बाद से यह एक सिस्टम पथ वापस आ जाएगी।
हाफ क्रैजेड

3

मुझे इन उत्तरों में से बहुत कुछ नहीं मिला, इसलिए मुझे लगा कि मैं लिखूंगा कि मेरे लिए क्या काम किया है। मुझे पता है कि कोडेक्स कहता है:

$ ver (string | bool | null) (वैकल्पिक) स्ट्रिंग स्टाइलशीट वर्जन नंबर को निर्दिष्ट करना, अगर इसमें एक है, जो URL में कैश बस्टिंग उद्देश्यों के लिए क्वेरी स्ट्रिंग के रूप में जोड़ा गया है। यदि संस्करण गलत पर सेट है, तो एक संस्करण संख्या स्वचालित रूप से वर्तमान स्थापित वर्डप्रेस संस्करण के बराबर जोड़ दी जाती है। यदि शून्य पर सेट किया जाता है, तो कोई संस्करण नहीं जोड़ा जाता है। डिफ़ॉल्ट मान: असत्य

लेकिन यह बहुत ही गूढ़ है कि यह वास्तव में कैसे काम करता है। मुझे अपनी स्टाइलशीट की wp_enqueue_styleतरह क्वेरी परम को ट्रिगर करने के लिए एक संस्करण संख्या नहीं मिल सकी ?ver=1.2.3। हालाँकि इसे सही पर सेट करने से स्टाइलशीट के घोषित संस्करण को cache bustस्टाइलशीट में बदल दिया जा सकता है। (पढ़ते रहिये)

अपने style.css के भीतर आपको अपनी थीम को नाम देना होगा। यह WP द्वारा आवश्यक है। हालाँकि अन्य विकल्प जैसे versionकि wp_enqueue_style का संस्करण बूलियन संदर्भ भी देता है।

/******************************************************************
Site Name: MySite.com
Author: @BenRacicot
Version: 4.0 // <- wp_enqueue_style's version number
Stylesheet: Main Stylesheet
******************************************************************/

अब जब मैं इसे बदल देता Version: 4.1हूंstyle.css?cache-bust=0.24135995238933283


2

आप बस time()इस तरह से enqueue शैली या स्क्रिप्ट के समय में उपयोग कर सकते हैं ..

वर्डप्रेस wp_enqueue_style()फंक्शन का उपयोग किए बिना

<link rel='stylesheet' id='xxxx'  href='https://www. site css/ styles.css?ver=<?php echo time(); ?>' type='text/css' media='all' />

wp_enqueue_style()फ़ंक्शन का उपयोग करना

wp_enqueue_style('style_sheet_name', get_stylesheet_directory_uri() . '/custom_style.css', '', time());

या

wp_enqueue_style('style_sheet_name', get_stylesheet_uri() . '/custom_style.css', '', time());

1
मैं इसकी सिफारिश नहीं करूंगा, मुझे पूरा यकीन है कि यह सभी को एक साथ कैशिंग के संस्करण को हरा देगा।
फाबियान वॉन एलर्ट्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.