###確認事項
おそらく固定ページでしょうか?
カラムのデザインだけならCSSで大丈夫だと思います。
body
タグのclassにそれぞれこうありませんか?
このようにbody
タグのclassには固定ページのスラッグが普通は出力されていますので。
html
1<body class="news">
2</body>
3
4<body class="discography">
5</body>
6
7<body class="blog">
8</body>
###解決方法
上記確認事項がわかれば、あとはbody
の子階層でカラムのデザインを指定しているclassがあるので、次のようにCSSを指定すればいいと思います。
もちろん、カラムのデザインを指定しているclassが.main
かどうかはわかりませんから、そこは開発ツール(F12クリックで要素にホバーすると該当classがわかります)などで確認してみてください。
css
1body.news .main,
2body.discography .main {
3 display: flex; /* news と discography を横並び */
4}
5body.blog .main{
6 display: block; /* blog は普通 */
7}
8
9/*
10少しわかりにくいですが、blogページだけ普通にしたいならこうでもOK
11body:not(.blog ) .main{
12 display: flex; /* blog 以外は横並び */
13}
14*/
もし、カラムのデザインだけでなく表示内容も分岐したい、ということでしたらis_age('news')
などを使う必要があるので、その辺はまたお尋ねください。
###追記
すみません勘違いしていました。2カラムはきっとCSSでなくサイドバーで出力されていますよね?
上の確認事項と解決方法はスルーしてください。
やはりis_age('news')
などで分岐する必要がありそうです。
おそらくすべて固定ページと思いますので、まずpage.phpのテンプレートファイルをご覧ください。
そこに「NEWS」「DISCOGRAPHY」「BLOG」のいずれの場合も出力される、共通のHTMLが書いてありませんか?
(page.phpに書いていなければpage.phpでget_template_partされて呼ばれているテンプレートファイルに書いてあると思います。)
その共通のHTMLが例えばこうだとします。
php
1<div class="wrapper">
2 <div class="main" role="main">
3 <!-- メインコンテンツ -->
4 <div>
5 <aside class="side">
6 <!-- サイドコンテンツ -->
7 </aside>
8</div>
であれば、こうします。
php
1
2<div class="wrapper">
3
4 <?php if ( is_page('news') || is_page('discography') ) : ?>
5
6 <div class="main" role="main">
7 <!-- メインコンテンツ -->
8 <div>
9 <?php get_sidebar(); ?>
10
11 <?php elseif ( is_page('blog') ) : ?>
12
13 <div class="main" role="main">
14 <!-- メインコンテンツ -->
15 <div>
16
17 <?php endif;>
18
19</div>
20
if ( is_page('news')
というのはもしスラッグがnewsのページなら
という意味なので、これを使って表示内容を分岐してあげるわけです。
なので、上記の分岐をすると、それぞれ次のHTMLが出力されると思います。
html
1<div class="wrapper">
2 <div class="main" role="main">
3 <!-- メインコンテンツ -->
4 <div>
5 <aside class="side">
6 <!-- サイドコンテンツ -->
7 </aside>
8</div>
html
1<div class="wrapper">
2 <div class="main" role="main">
3 <!-- メインコンテンツ -->
4 <div>
5</div>
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/22 15:51