Wp_head में फ़ाइल स्रोत लिंक से फ़ाइल संस्करण कैसे निकालें?


9

मैंने wp_headप्रत्येक के स्रोत लिंक में फ़ंक्शन के अंदर देखा .css, .jsफ़ाइल ?ver=1( या फ़ाइल / लाइब्रेरी संस्करण पर आधारित अन्य संख्या ) को जोड़ा जाता है। उन्हें हटाने के लिए, मैं उन्हें कैसे अधिलेखित कर सकता हूं?

यह मुद्दा मुझे लगता है कि कैश मेनिफेस्ट भाग पर समस्याएं पैदा कर रहा है।

जवाबों:


16

आप में हुक कर सकते हैं style_loader_srcऔर script_loader_srcऔर चलाने के remove_query_arg( 'ver', $url )यूआरएल पर:

<?php
/* Plugin Name: Remove version parameter for scripts and styles */

add_filter( 'style_loader_src', 't5_remove_version' );
add_filter( 'script_loader_src', 't5_remove_version' );

function t5_remove_version( $url )
{
    return remove_query_arg( 'ver', $url );
}

इस प्लगइन के बिना:

यहां छवि विवरण दर्ज करें

प्लगइन सक्रियण के बाद:

यहां छवि विवरण दर्ज करें

एक ऐसा मामला है जहां यह विफल हो जाएगा: जब किसी ने स्क्रिप्ट / शैली एपीआई का उपयोग नहीं किया, लेकिन हेडर के लिए एक कठोर कोडित स्ट्रिंग जोड़ा।


का नीट उपयोग remove_query_arg()
मेंहदी राइट

2

यह मेरे लिए तब काम आया जब मुझे अभी भी Google फ़ॉन्ट्स से एक स्टाइलशीट लोड करनी थी।

<?php
add_filter( 'script_loader_src', 'wpse130419_remove_script_version', 15, 1 );
add_filter( 'style_loader_src',  'wpse130419_remove_script_version', 15, 1 );
function wpse130419_remove_script_version( $src ) {

    $url = explode( '?', $src );

    if ( $url[0] === 'http://fonts.googleapis.com/css' ) :
        $version = explode( '&ver=', $url[1] );
        $url[1]  = $version[0];
    endif;

    return ( $url[0] === 'http://fonts.googleapis.com/css' ) 
        ? "{$url[0]}?{$url[1]}"
        : $url[0]
    ;
}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.