タイトルの通りなんですけどね。
無料版「STINGER PLUS2(β)」を使ってて気づいたことです。
Googleで検索してみたのですが、同じような話題は見つかりませんでした。
ちなみに、STINGER8では今回のようなことは確認できませんでした。
st-tagcss.phpがない!
早速本題です。繰り返しになりますが、無料版「STINGER PLUS2(β)」にst-tagcss.phpがないんです。
事の発端は、Chromeのデベロッパー・ツールでソースを眺めてた時のこと。エラーが1個あることに気づきました。
どれどれ、とコンソールを見てみると・・・・
st-tagcss.phpがないみたいです。
間違って自分が消しちゃったのかな、と思って、公式から最新のテーマを落とし直してみたのですが、やっぱりない。
ソースを検索してみると、呼び出し元はfunction.phpの以下の箇所です。
// ランキングオリジナルCSS読み込み
function register_stylesheet() {
wp_register_style( 'single', get_template_directory_uri() . '/st-tagcss.php', array(), null, 'all' );
}
function load_stylesheet() {
register_stylesheet();
wp_enqueue_style( 'single' );
}
add_action( 'wp_enqueue_scripts', 'load_stylesheet' );
STINGERは、style.cssとは別に、テーマオリジナルのCSSをwp_enqueue_scriptで読み込んでいるんです。
wp_enqueue_script関数とは
スクリプトファイルを「重複しないように」また「適切な順番」で読み込むように制御してくれる関数です。
ところが読み込もうとしたが、st-tagcss.phpがない、という。
思わぬ影響?
st-tagcss.phpの読み込みで、0.3秒くらい時間がかかってます。
ないものは仕方ない
st-tagcss.phpは、読まないようにします。
親テーマのfunction.phpの該当箇所をコメントアウトしたいところですが、頑張って子テーマで対応します。
function.phpは、子テーマを先に読んで、そのあと親テーマを読みます。親テーマのfunction.phpのカスタマイズしたい関数に以下のようにfunction_exists()の判定があれば、子テーマのfunction.phpで先に同じ関数名を使い、回避することができます。
if ( !function_exists( 'load_stylesheet2' ) ) {
function register_stylesheet2() {
wp_register_style( 'single2', get_template_directory_uri() . '/st-kanricss.php', array(), null, 'all' );
}
function load_stylesheet2() {
register_stylesheet2();
wp_enqueue_style( 'single2' );
}
}
ですが、今回の該当箇所には、function_exists()の判定がないため、そうはいきません。そこで、after_setup_themeを使います。
after_setup_themeにより、 親テーマが読み込まれた後にフックすることができます。
先程の親テーマの「load_stylesheet」のアクションフックを、子テーマから削除するには、子テーマのfunction.phpに以下のように記述を追加します。
add_action( 'after_setup_theme', 'my_after_setup_theme' );
function my_after_setup_theme() {
remove_action( 'wp_enqueue_scripts', 'load_stylesheet' );
}
まとめ
サイトの表示速度は色々な要因の積み重ねの結果です。表示速度改善のためにはひとつずつ向き合っていくしかないかと思います。
st-tagcss.phpがなかった件ついては、まだβ版ですし、いずれ対応があるかと思いますが、とりあえずは暫定対応ということで。
それにしても、なぜGoogleで同じような話題がヒットしないんでしょう、まさかみんな有料版・・・?
[…] のテーマを使っていますが、このテーマの影響である小さなエラーが起き、この度 tamalog さんのブログ記事によりこのエラーを無事解決できたので、今日はそのお話をしようと思います。 […]
お世話になります。お役に立てた様で何よりです。ブログ読ませていただきました。色々と参考になります。
[…] 【STINGER PLUS2(β)】st-tagcss.phpがない! […]
[…] ・st-tagcss.phpの404エラーが出る件 https://tamalog.net/stinger-st-tagcss/ […]