以下のようにWordPressでstyle.css
のバージョンを追加する方法私はJoomlaですることができます。
<link rel="stylesheet" href="/templates/example/css/style.css?v=1.2">
style.css
は動的にロードされることを私は知っています。やり方を教えてください。
バージョン番号は wp_enqueue_style()
のパラメータです。
Codexによると、これはwp_enqueue_style
が受け付けるすべてのパラメータです。
wp_enqueue_style( $handle, $src, $deps, $ver, $media );
たとえば、バージョン番号付きのスタイルシートをロードするには、次のようにします。
function wpa_90820() {
wp_enqueue_style('my-styles', get_stylesheet_directory_uri() .'/my-styles.css', array(), '1.0' );
}
add_action('wp_enqueue_scripts', 'wpa_90820');
バージョンを固定するのではなく、スタイルシートを動的にバージョン管理する方が良い場合があります。変更するたびに、functions.phpを何度も編集しなくても自動的にブラウザのキャッシュが自動的に変更および更新されます。
そのためにはfilemtime()を使うことができます。これは、parent_styleを参照するchild-styleでこれを行う方法です。
wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css', array( $parent_style ), filemtime( get_stylesheet_directory() . '/style.css' ) );
次のいずれかの方法でこれを達成できます。
1)テーマのheader.phpファイルに以下のタグを追加します。
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>'?v=1.2" type="text/css" media="all" />
2)テーマのfunctions.phpファイルに以下のコードを追加します。
function theme_styles()
{
// Register the style like this for a theme:
// (First the unique name for the style (custom-style) then the src,
// then dependencies and ver no. and media type)
wp_enqueue_style( 'style-css', get_template_directory_uri() . '/style.css', array(), '1.2', 'all' );
}
add_action('wp_enqueue_scripts', 'theme_styles');
より詳しい情報は このページを見てください。
これを試して:
これをfunctions.phpに追加してください。
function autoVer($filename){
$url = get_template_directory_uri() . $filename;
$file = get_template_directory() . $filename;
if ( file_exists($file)) {
return $url . '?v=' .md5(date("FLdHis", filectime($file)) . filesize($file));
}
clearstatcache();
}
これをヘッダまたはフッタに追加します - > autoVer( '/ js/main.js');
あなたのワードプレスのテーマにCSSをロードするための最良の方法はあなたのfunctions.phpファイル内の次のコードです:
function theme_styles()
{
global $ver_num; // define global variable for the version number
$ver_num = mt_Rand() // on each call/load of the style the $ver_num will get different value
wp_enqueue_style( 'style-css', get_template_directory_uri() . '/style.css', array(), $ver_num, 'all' );
}
add_action('wp_enqueue_scripts', 'theme_styles');
これはあなたのテーマにスタイルをロードする正しい方法です。また、更新するたびに更新されたスタイルのスタイルが配信されるので、ステージングやテストの目的にも最適です。
もし最初のロードを避けたいのなら、この短縮版を使ってheader.phpファイルに次の行を追加すれば同じ結果が得られます。
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); echo '?ver=' . filemtime( get_stylesheet_directory() . '/style.css'); ?>" type="text/css" media="screen, projection" />
乾杯