it-swarm-ja.com

テンプレートファイル内から直接生のCSS文字列をエンキューすることは可能ですか?

テンプレートファイル内から直接生のCSSを文字列としてエンキューすることが可能かどうか疑問に思いましたか。

私はページ用のカスタムテンプレートを書いていて、それにいくつかのスタイルルールを追加する必要があります。私がやりたいのは、スタイルを文字列varとしてPHPに書き出してから、それらを 'style.css'やその他の外部に追加するのではなく、enqueue_style関数を使用してこれらのスタイルを読み込むことですスタイルシート.

'get_header'関数を呼び出す前に自分のスタイルをエンキューし、 'wp_head'や 'wp_enqueue_styles'アクションにフックするなら、これはうまくいくと思いますが、そうではないようです。 'wp_enqueue_style'が生のCSS文字列を取り得るかどうかを確認してください。

誰かアドバイスをもらった?

敬具、

クリス

4
Chris

はいといいえ。

あなたはプログラム的に生のCSS文字列をヘッダにロードすることができますが、それをキューに入れるためにwp_enqueue_style()を使うことはできません。この関数は特にファイル<link>タグのヘッダーにロードします。

しかし、あなたができることはこのようなことです:

function print_inline_script() {
?>
<style type="text/css">
/* ... styles go here ... */
</style>
<?php
}
add_action( 'wp_head', 'print_inline_script' );
8
EAMann

すみません、私はちょうどこのビットに気づきました:

'get_header'関数を呼び出す前に自分のスタイルをエンキューし、 'wp_head'や 'wp_enqueue_styles'アクションにフックするなら、これはうまくいくと思いますが、そうではないようです。 'wp_enqueue_style'が生のCSS文字列を取り得るかどうかを確認してください。

CSSファイルのハンドルとURLの両方を入力したことを確認してください。

1
kevin conboy

ヘッダーのwp_head()の前に登録/エンキューされている限り、はい。

0
kevin conboy