Jak usunąć wersje pliku z linków źródła pliku w wp_head?


9

I obserwuje się wewnątrz wp_headfunkcji w linkach źródłowych każdy .css, .jszłoży ?ver=1( lub inny numer w oparciu o / wersja biblioteki pliku ) jest dodawany. Jak mogę je zastąpić, aby je usunąć?

Wydaje mi się, że ten problem powoduje problemy z częścią manifestu pamięci podręcznej.

Odpowiedzi:


16

Można podłączyć do style_loader_srci script_loader_srci uruchomić remove_query_arg( 'ver', $url )na 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 );
}

Bez tej wtyczki:

wprowadź opis zdjęcia tutaj

Po aktywacji wtyczki:

wprowadź opis zdjęcia tutaj

Jest jeden przypadek, w którym to się nie powiedzie: gdy ktoś nie używał skryptu / stylu API, ale dodał na stałe nagłówek.


Staranne użycie remove_query_arg().
henrywright

2

To działało dla mnie, gdy wciąż musiałem ładować arkusz stylów z Google Fonts.

<?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]
    ;
}
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.