特定のスタイルシートにバージョン番号を追加するようにWordPressテーマを変更しようとしています。これはすべてローカルの開発マシン上で行われ、ステージングサーバー上でもテストされています。ここの指示に従ってください: https://www.mojowill.com/developer/get-your-wordpress-css-changes-noticed-immediately/ 、 wp_register_style
を介して渡される引数にfilemtime( get_template_directory() . '/css/main.css' )
を追加しました
から:
wp_register_style('style', get_template_directory_uri() . '/css/style.css', array(), '', 'all');
に
wp_register_style('style', get_template_directory_uri() . '/css/style.css', array(), 'filemtime( get_template_directory_uri() . '/css/style.css'', 'all');
石鹸はありません。レンダリングされたページのソースを見ると、スタイルシートのリンクにはバージョンが追加されていません。
私はfilemtime
関数を$ver
スロットから引き出して、1.0のような静的な値に置き換えようとしましたが、それもうまくいきませんでした。最後に、$ver
引数をスキップして、パスをバージョン対応ファイルに変更しました。
wp_register_style('style', get_template_directory_uri() . '/css/style.css?ver=1.0', array(), '', 'all');
まだ何もありません。 WordPressがこれらの更新を承認しないのはなぜですか?私が想像できるようなサーバーサイドのキャッシュやプラグインは、このプロセスに影響を与えません。私が見逃している非常に単純な何かがありますか?
どうもありがとう
ジェームズ
編集:これは関連するコードブロック全体です。
function minikit_register_js_and_css() {
if (!is_admin()) {
wp_register_style('style', get_template_directory_uri() . '/css/style.css?ver=1.1', array(), '', 'all');
wp_enqueue_style('style');
}
}
ついに、私は問題を特定しました。私が取り組んでいたテーマは、バージョン番号を削除する機能を持つ Minikitテーマスターター を使いました。
function minikit_remove_wp_ver_css_js($src) { if (strpos($src, 'ver=')) $src = remove_query_arg('ver', $src); return $src; }
当然、この関数の呼び出しをやめるとバージョン番号が返されます。
必ず wp_enqueue_style( 'unique-style-name') を確認してください。
add_action( 'wp_enqueue_scripts', 'register_plugin_styles' );
function register_plugin_styles() {
wp_register_style( 'unique-style-name', plugins_url( 'my-plugin/css/plugin.css' ) );
wp_enqueue_style( 'unique-style-name' );
}
いくつかの可能性:
wp_head()
はheader.php
ファイルで呼ばれていますか?スタイルシートのコードがテンプレートにハードコードされているかもしれません。wp_register_style
宣言であることをあなたは確信していますか?後で同じファイルまたは別のファイルに再度設定されている可能性があります。それらが思い浮かぶ最初のアイデアです。私はそれが役立つことを願っています