2017-10-03 15 views
0

私はを維持しています.GeneratePressテーマを使用したワードプレスサイトです。拡張された子テーマの解決策が使用されました。それはすでに非常に発達した子供のテーマです(劇的な解決策を避けるためにこれを言っています)。Wordpress - GeneratePressテーマ - キャッシュ破裂

しばらくの間私はCSSを更新する度にCSSキャッシュに問題がありました。 style.css子スタイルシートは、変更されたものの代わりにキャッシュバージョンを提供します

私はそれが存在する場合、GeneratePressテーマが親のstyle.css +子のstyle.cssを読み込んでいると思います。

generatepress /のfunctions.php

コードのこの部分を読ん
// Enqueue our CSS. 
wp_enqueue_style('generate-style-grid', get_template_directory_uri() . "/css/unsemantic-grid{$suffix}.css", false, GENERATE_VERSION, 'all'); 
wp_enqueue_style('generate-style', get_template_directory_uri() . '/style.css', array('generate-style-grid'), GENERATE_VERSION, 'all'); 
wp_enqueue_style('generate-mobile-style', get_template_directory_uri() . "/css/mobile{$suffix}.css", array('generate-style'), GENERATE_VERSION, 'all'); 
wp_add_inline_style('generate-style', generate_base_css()); 

// Add the child theme CSS if child theme is active. 
if (is_child_theme()) 
    wp_enqueue_style('generate-child', get_stylesheet_uri(), true, filemtime(get_stylesheet_directory() . '/style.css'), 'all'); 

...子供のテーマが検出された場合が、それはすでにキャッシュがをつぶしやるべきことをようだが..私にはそうではありません。 私はfilemtimeの結果をバージョンパラメータとして取得していません。

私の子供のテーマfunctions.phpは 'style.css'をエンキューしません。それにもかかわらず、親style.cssの後にロードされます。

ATTEMPT 1 私はgeneratepress https://docs.generatepress.com/article/adding-css/からCSSを追加するためのセクションを読んでいます。

子供のstyle.cssファイルをバストする方法がわかりません。この問題を解決するために

ATTEMPT 2つの 私の最初の試みはwp_enqueue_scriptsがトリガされたときにスタイルシートをエンキューに基づいています。

function theme_css(){ 
    wp_enqueue_style('my-theme-style', get_stylesheet_directory_uri().'/style.css', 'generate-style', '1.1', 'all'); 
} 
add_action('wp_enqueue_scripts', 'theme_css'); 

は私が生成するスタイルを(親のstyle.cssの後にロードすることになり、子はstyle.css)に依存する親のデフォルト・スタイルであるように私には思えるので、に言及しました。前のコードスニペットでこれを見ることができます。 それは私のためには機能しません。子テーマは親テーマスタイルシートの最初と後で読み込まれます。これは残念であり、CSSを破ります。順序は反対でなければなりません(親style.css最初と子供style.css後で)。前述のように、生成スタイルは役に立ちません。 3

ATTEMPは、別のファイル名とスタイルシートを作成します。 child_themeが検出された場合、style.cssスタイルシートファイルが必要なので、Generatepressは文句を言います。私は、空のstyle.cssと新しいスタイルシートを持つ子テーマを持つことができます。問題は、返されたユーザーに対してstyle.cssキャッシュが配信されることです。

私は何とかwordpressの新しいので、私は他のメカニズムを知っていないので、これを解決する必要があります。たぶん、簡単な解決策がありますか?

+0

変更を確認するためにブラウザのキャッシュをクリアしましたか?これは、通常、このようなcssキャッシュ問題の呼び出しの最初のポートです。 –

+0

はい、キャッシュを消去しますが、サイトに毎日アクセスする何百人ものユーザーのキャッシュは消去されません。 – kitimenpolku

+0

サイトでキャッシングプラグインを実行していますか?テーマ文書がここで示唆しているようにAutoptimizeを使用している場合は、https://generatepress.com/fastest-wordpress-theme/、キャッシュを削除する必要があります。その場合、ユーザーに変更が表示されます。 –

答えて

1

テーマ・ドキュメントに「Autoptimize」を使用している場合は、hereを指定すると、キャッシュを削除する必要があり、ユーザーに変更が表示されます。この引用は、そのドキュメントからです:CSSの量を削減し、JSファイルは各ページの負荷 にロードされているAutoptimize

をインストール

はあなたのページの速度に大きな違いを生むだろう。

Autoptimizeの特典には、 で生成されたCSSが外部ファイルにバンドルされ、 ブラウザでキャッシュすることができます。

自動最適化キャッシュを削除してリセットするには:wp-adminにログインし、プラグイン/自動最適化/設定に行き、キャッシュを削除すると、自動的にキャッシュが開始されます。 wp-adminのトップメニューバーにも自動化アイテムがあります。これも便利です。

+0

ねえ、リンクが壊れています。ありがとうございました – kitimenpolku

+0

これは修正されました。申し訳ありませんが、私はhttps:プロトコルを倍増しました。 –