TwentyElevenで固定ページでサイドバーを表示させる/させないを両立しつつ、投稿にはサイドバーを表示させる方法

  • 投稿日:
  • by
  • カテゴリ:

Wordpressのテーマ TwentyEleven は、
デフォルトでは固定ページにサイドバーが表示されません。

  1. 管理画面の「外観」→「カスタマイズ」で「レイアウト」を「右コンテンツ」あるいは「左コンテンツ」にする
  2. サイドバーを表示させたい固定ページでは、編集画面で「テンプレート」を「サイドバーテンプレート」にする
  3. サイドバーを表示させたくない固定ページでは、「テンプレート」を「デフォルトテンプレート」にする
  4. 投稿にサイドバーを表示させるには、スタイルシートと single.php に以下のコードを追加する

テーマのアップデートでカスタマイズが消えてしまうと困るので、
子テーマを作った方が良いでしょう

子テーマの作り方は、以下を参考になります。
WordPressテンプレートのカスタマイズは子テーマで | SaaSes Staff Blog

スタイルシート

/* Singular */
.single #primary {
width: 73.6%;
}

#nav-single {
display: none;
}

.single .entry-header .entry-meta {
position: relative;
}

.single .entry {
padding: 0;
}

.single .entry-header, .single .entry-content, .single footer.entry-meta, .single #comments-title {
width: 100%;
}

.single #content, .left-sidebar .single #content {
margin: 0 34% 0 7.6%;
}

.single article .entry-title {
padding-top: 0;
}

.single .entry-meta .edit-link a {
right: 0;
top: 0;
left: auto;
}

single.php

<?php get_footer(); ?>

のすぐ上に

<?php get_sidebar(); ?>

を追記する。


Twenty Elevenのページにサイドバーを表示 | Webコンサルティングを参考にしました。

これだと「サイドバーを表示させない固定ページ」が実現できず、
モニョモニョしました。

スタイルシートは .singular に対してスタイルを当てると、
固定ページにも投稿にも適用されてしまうので、
.single に対して当てるように変更してあります。

今どき TwentyEleven?
しかもこのサイトWordpressじゃないよね、
というオチですね。

はい。さようなら!