wp_headのファイルソースリンクからファイルバージョンを削除する方法


9

wp_headすべてのファイルのソースリンクの関数の内部を観察しました.css.jsファイルa ?ver=1またはファイルの/ライブラリバージョンに基づく他の番号)が追加されています。それらを削除するにはどうすれば上書きできますか?

この問題は、キャッシュマニフェスト部分で問題を引き起こしていると思います。

回答:


16

URLにフックしstyle_loader_srcscript_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 );
}

このプラグインなし:

ここに画像の説明を入力してください

プラグインのアクティブ化後:

ここに画像の説明を入力してください

これが失敗するケースが1つあります。誰かがスクリプト/スタイルAPIを使用せず、ハードコードされた文字列をヘッダーに追加した場合です。


きちんとした使用remove_query_arg()
henrywright 2017

2

これは、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]
    ;
}
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.