teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2020/06/22 15:42

投稿

mossbarger
mossbarger

スコア26

answer CHANGED
@@ -34,4 +34,72 @@
34
34
  }
35
35
  */
36
36
  ```
37
- もし、カラムのデザインだけでなく表示内容も分岐したい、ということでしたら`is_age('news')`などを使う必要があるので、その辺はまたお尋ねください。
37
+ もし、カラムのデザインだけでなく表示内容も分岐したい、ということでしたら`is_age('news')`などを使う必要があるので、その辺はまたお尋ねください。
38
+
39
+ ###追記
40
+ すみません勘違いしていました。2カラムはきっとCSSでなくサイドバーで出力されていますよね?
41
+
42
+ 上の確認事項と解決方法はスルーしてください。
43
+
44
+ やはり`is_age('news')`などで分岐する必要がありそうです。
45
+
46
+ おそらくすべて固定ページと思いますので、まずpage.phpのテンプレートファイルをご覧ください。
47
+
48
+ そこに「NEWS」「DISCOGRAPHY」「BLOG」のいずれの場合も出力される、共通のHTMLが書いてありませんか?
49
+
50
+ (page.phpに書いていなければpage.phpでget_template_partされて呼ばれているテンプレートファイルに書いてあると思います。)
51
+
52
+ その共通のHTMLが例えばこうだとします。
53
+ ```php
54
+ <div class="wrapper">
55
+ <div class="main" role="main">
56
+ <!-- メインコンテンツ -->
57
+ <div>
58
+ <aside class="side">
59
+ <!-- サイドコンテンツ -->
60
+ </aside>
61
+ </div>
62
+ ```
63
+ であれば、こうします。
64
+ ```php
65
+
66
+ <div class="wrapper">
67
+
68
+ <?php if ( is_page('news') || is_page('discography') ) : ?>
69
+
70
+ <div class="main" role="main">
71
+ <!-- メインコンテンツ -->
72
+ <div>
73
+ <?php get_sidebar(); ?>
74
+
75
+ <?php elseif ( is_page('blog') ) : ?>
76
+
77
+ <div class="main" role="main">
78
+ <!-- メインコンテンツ -->
79
+ <div>
80
+
81
+ <?php endif;>
82
+
83
+ </div>
84
+
85
+ ```
86
+ `if ( is_page('news')`というのは`もしスラッグがnewsのページなら`という意味なので、これを使って表示内容を分岐してあげるわけです。
87
+
88
+ なので、上記の分岐をすると、それぞれ次のHTMLが出力されると思います。
89
+ ```html
90
+ <div class="wrapper">
91
+ <div class="main" role="main">
92
+ <!-- メインコンテンツ -->
93
+ <div>
94
+ <aside class="side">
95
+ <!-- サイドコンテンツ -->
96
+ </aside>
97
+ </div>
98
+ ```
99
+ ```html
100
+ <div class="wrapper">
101
+ <div class="main" role="main">
102
+ <!-- メインコンテンツ -->
103
+ <div>
104
+ </div>
105
+ ```