tohokuaikiのチラシの裏

技術的ネタとか。

wp_enqueue_scriptでver=の引数をはがしたかっただけ

調べたメモ

wp-includes/class.wp-scripts.php

WP_Scripts::do_item() でやってるらしい。

そこ見ると、WP_Scripts::default_versionってプロパティで、このプロパティは
wp-includes/script-loader.php:56
$scripts->default_version = get_bloginfo( 'version' );
ってことらしいので、まぁそもそもWordPressのバージョンなんて消したいよねーってことで。

てんぷれーとのfunctions.phpにって思ったのだけど、get_bloginfoみたら全然フィルタを挟み込む余地が無くて終わり。あー。


ということで、こんなんでお茶濁し。

<?php
/**
 * @brief 
 * @param 
 * @retval
 */
function remove_script_version($src, $handle)
{
    global $wp_version;
    
    return preg_replace('/\?ver='.preg_quote($wp_version).'$/', '', $src);
    
}

add_filter('script_loader_src', 'remove_script_version');