私のWordpressページにリンクされているスタイルシートがヘッダセクションにあります。
<link rel="stylesheet" type="text/css" href="<?php bloginfo('template_directory'); ?>/style.css" />
今、私はいくつかのページまたはサブページに異なるスタイルシートをロードしたいです。
これを達成するための最善/正しい方法は何ですか?
私は自分自身の "wp_enqueue_style"を呼び出すショートコードを書くことを考えています、それは良い考えですか?
wp_enqueue_style()
にショートコードを使用しないでください。ショートコードが解析されるまでには、関連するすべてのフック(wp_head
、wp_print_styles
)が既に起動されているため、これはうまくいきません。
is_page( $id )
に基づいてさまざまなスタイルシートをエンキューするには、functions.php
で関数を作成します($id
はID、スラッグ、またはタイトルにできます)。それからその関数をwp_enqueue_scripts
にフックします。
pSまた、注意してください:あなたはあなたのデフォルトスタイルシートのリンクでget_stylesheet_uri()
を使うべきです。例えば:
<link rel="stylesheet" type="text/css" href="<?php echo get_stylesheet_uri(); ?>/style.css" />
私はあなただけのスタイルのhrefの場所かそこらを変更したい、あなたはこのフィルタを使用することができます、例えば:
add_filter( 'style_loader_src', function($href){
if(strpos($href, "name-of-allowed.css") !== false) {
return $href;
}
return false;
});