回答編集履歴
1
answer
CHANGED
@@ -1,4 +1,45 @@
|
|
1
1
|
フローティングメニューのCSSを単独のCSSファイルにして条件分岐タグ```is_○○```を使ってページ毎に読み込むようにすれば良いです。
|
2
2
|
|
3
3
|
条件分岐タグ
|
4
|
-
[https://wpdocs.osdn.jp/%E6%9D%A1%E4%BB%B6%E5%88%86%E5%B2%90%E3%82%BF%E3%82%B0](https://wpdocs.osdn.jp/%E6%9D%A1%E4%BB%B6%E5%88%86%E5%B2%90%E3%82%BF%E3%82%B0)
|
4
|
+
[https://wpdocs.osdn.jp/%E6%9D%A1%E4%BB%B6%E5%88%86%E5%B2%90%E3%82%BF%E3%82%B0](https://wpdocs.osdn.jp/%E6%9D%A1%E4%BB%B6%E5%88%86%E5%B2%90%E3%82%BF%E3%82%B0)
|
5
|
+
|
6
|
+
|
7
|
+
ちょっと簡潔過ぎというか足りなさ過ぎたので…
|
8
|
+
|
9
|
+
任意のページにだけ任意のCSSを適用させるには
|
10
|
+
|
11
|
+
関数リファレンス/wp enqueue style
|
12
|
+
[https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/wp_enqueue_style](https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/wp_enqueue_style)
|
13
|
+
|
14
|
+
対象が固定ページならis_page()、普通の投稿ならis_single()などにします。
|
15
|
+
詳しくは条件分岐タグのページを。
|
16
|
+
|
17
|
+
以下は固定ページの場合の例。テーマのfunctions.phpに追記します。
|
18
|
+
|
19
|
+
```
|
20
|
+
function theme_name_scripts() {
|
21
|
+
wp_register_style( 'style-name', get_template_directory_uri().'/css/style-name.css' );
|
22
|
+
if ( is_page( '固定ページのIDやスラッグを指定' ) ) {
|
23
|
+
wp_enqueue_style( 'style-name' );
|
24
|
+
}
|
25
|
+
}
|
26
|
+
add_action( 'wp_enqueue_scripts', 'theme_name_scripts' );
|
27
|
+
```
|
28
|
+
|
29
|
+
ただ、サイトはレスポンシブデザインだと思うので、PCには要らなくてもフローティングメニューのCSSをそのページを開くと勝手に読み込みこんでしまいます。
|
30
|
+
それが別に気にならなければ良いですが、気になる場合は任意のユーザーエージェントだけCSSを読み込むようにすれば無駄が減ります。
|
31
|
+
|
32
|
+
例えばこんな風に対象のユーザーエージェントを指定してfunctions.phpに書いておき
|
33
|
+
```
|
34
|
+
function is_mobile(){
|
35
|
+
$useragent = array(
|
36
|
+
'Android',
|
37
|
+
'iPhone',
|
38
|
+
'iPod',
|
39
|
+
);
|
40
|
+
$pattern = '/'.implode( '|', $useragent ).'/i';
|
41
|
+
return preg_match( $pattern, $_SERVER['HTTP_USER_AGENT'] );
|
42
|
+
```
|
43
|
+
|
44
|
+
```is_page( '固定ページのIDやスラッグを指定' ) && is_mobile()```
|
45
|
+
のようにしておけば任意の固定ページで任意のユーザーエージェントの場合にしかCSSをロードしません。
|