クライアントのためにテーマをスピードアップするための私の努力の一環として、動的なPHPファイルを介してCSSを配信しています。たとえばmy_theme_css.php
の最後に
これにより、私のCSSとJavaScriptにExpiryヘッダを追加することができます。
<?php
header("Expires: Thu, 31 Dec 2020 20:00:00 GMT");
header('Content-type: text/css');
?>
それから私はユーザーが自分自身のカスタムCSSを追加できるようにしたいので、私は以下を設定しました:
<?php
header("Expires: Thu, 31 Dec 2020 20:00:00 GMT");
header('Content-type: text/css');
?>
p{color:blue;}
/** Custom CSS **/
<?php
if(get_theme_mod('my_custom_css') != '') {
$my_custom_css = get_theme_mod('my_custom_css');
echo $my_custom_css;
}
?>
それから私は適切なテーマオプションを追加しました。しかし、私が発見しているのは、get_theme_mod()
がスコープの問題のために機能しないということです(私は想像しています)。
私は以下のコードを追加することができます:
<?php
if(get_theme_mod('my_custom_css') != '') {
$my_custom_css = get_theme_mod('my_custom_css');
echo $my_custom_css;
}
?>
ヘッダの<style></style>
タグの中で、それはうまくいくでしょう、私はCSSをインラインにしたくない、期待のヘッダを持つメインCSSファイルの上にそれが欲しいと思います。
次のようにコーディングしてみてください。
<?php $my_custom_css = get_theme_mod('my_custom_css');
if(!empty($my_custom_css)) {
echo $my_custom_css;
}
?>
それはget_theme_mod()
関数でスコープ問題を回避するはずです。