web-dev-qa-db-ja.com

wordpressでstyle.cssのバージョンを追加する方法

以下のようにWordPressでstyle.cssのバージョンを追加する方法私はJoomlaですることができます。

<link rel="stylesheet" href="/templates/example/css/style.css?v=1.2">

style.cssは動的にロードされることを私は知っています。やり方を教えてください。

8
Toretto

バージョン番号は 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');
13
helgatheviking

バージョンを固定するのではなく、スタイルシートを動的にバージョン管理する方が良い場合があります。変更するたびに、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' )  );
2
Codeaholic

次のいずれかの方法でこれを達成できます。

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');

より詳しい情報は このページを見てください。

2
Vinod Dalvi

これを試して:

これを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');

1

あなたのワードプレスのテーマに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" />

乾杯

0
Mile Milosheski