この記事では、WordPressブログでサイドバーが画面に固定されるようにするための方法について書いてます。
見てもらいたいページへのリンクや広告などを再度に固定したい!という方は参考にしてください!
WordPressの投稿に追尾サイトバーを表示する方法
①条件分岐のコードの確認
「投稿」のみ表示させたい時は「 is_single()」 を使います。
<?php if(is_single()): ?>
★ここに表示させたいコンテンツを書く★
<?php endif; ?>
「固定ページ」のみ表示させたい時は 「 is_page() 」 を使います。
<?php if(is_page()): ?>
★ここに表示させたいコンテンツを書く★
<?php endif; ?>
「投稿と固定ページの両方」 に表示させたい時は「 is_singular() 」 を使います。
<?php if(is_singular()): ?>
★ここに表示させたいコンテンツを書く★
<?php endif; ?>
このような感じでif関数を使って条件分岐させます。
②functions.phpで追尾サイドバーを作成する
WordPress管理画面のウィジェットから追尾サイドバーを利用できるように、functions.phpで追尾サイドバーの作成をしましょう。
function add_register_widgets() {
register_sidebar(array(
'name' => '追尾サイドバー',
'id' => 'sidebar-fixed',
'before_title' => '<h4 class="widgettitle">',
'after_title' => '</h4>',
));
}
add_action( 'widgets_init', 'add_register_widgets' );
名前やクラスやタグなどは自由に変更してください。
idも変更してよいですが、以下のsidebar.phpに書くコードを合わせるようにしてください。
③sidebar.phpに追尾サイドバーがWEBサイトに表示されるようにする
次はWEBサイトに追尾サイドバーが表示されるようにsidebar.phpに以下のコードを追加しましょう。
<?php if (is_singular()): ?>
<?php if ( is_active_sidebar( 'sidebar-fixed' ) ) : ?>
<div id="sidebar-fixed">
<aside>
<?php dynamic_sidebar( 'sidebar-fixed' ); ?>
</aside>
</div>
<?php endif; ?>
<?php endif; ?>
is_active_sidebar()とdynamic_sidebar()のかっこの中は②のfunctions.phpで決めたidにしてください。
あとは、最初のif関数の中を「is_singular()」にしてますが、これは投稿と固定ページの両方に表示させる設定なので、
- 投稿のみ → is_single()
- 固定ページのみ → is_page()
- 両方 → is_singular()
- トップページ → is_home()
- アーカイブページ → is_archive()
で使い分けてください!
いちお、トップページとアーカイブも載せておきました( ˙-˙ )
<?php if (is_single() || is_home()) : ?>
★ここに表示させたいコンテンツを書く★
<?php endif; ?>
あと、複数設定する場合は↑のように「 || 」でつなげばOKです。
④style.cssに画面固定するコードを書く
最後に追尾サイドバーが画面に固定されるようにCSSのコードを書きます。
#sidebar-fixed {
position: -webkit-sticky;
position: sticky;
top: 10px;
}
固定される高さは「top: 〇〇px;」で調節してください。
スマホとかで表示させないようにするにはこちらも追加しましょう。
@media screen and (max-width: 750px) {
#sidebar-fixed {
display: none;
}
}
非表示になる幅を調節するには「max-width: 〇〇px」で調節してください。
追尾サイドバーを活用しよう
これで追尾サイドバーを設置することができるようになります。
追尾サイドバーがあれば、見てもらいたいコンテンツを目立たせることができます。
また、上記の「②functions.phpで追尾サイドバーを作成する」で複数の追尾サイドバーを作成し、投稿やトップページなど分けて表示させることもできます。
サイトに合わせ追尾サイドバーを活用しましょう。