WordPressの設定>表示設定からフロント(TOP)ページに表示するページを設定できるのはご存知かと思います。
今回はテーマLightningを使用しているサイトでフロントに投稿ページも、固定ページも表示させたくない!
ってことがありましたのでその方法を記事にします。
#そもそも表示設定とは
WordPress管理画面のサイドメニューから、設定の中にあります。
「最新の投稿」と「固定ページ(投稿ページ)」を選択でき、どちらかチェックしなければなりません。
##Lightningでは不要だった
今回のサイトはブログサイトではないため、投稿ページをフロントに表示する必要がありませんでした。
フロント用に固定ページを作り、それを設定するのもありですが、、
Lightningのウィジェットアイテムが魅力的すぎた!
こちらの機能は割愛しますが、コンテンツブロックを組み合わせる感覚でページ作成できます。
このウィジェットでフロントページを構成しているため、デフォルトの「最新の投稿」または「固定ページ」は不要です。
#「投稿はありません」を消したい
先程の表示設定を「最新の投稿」にし、投稿記事が一つもなかった場合。
このように**「投稿はありません。」**と一文挿入されます。
投稿自体は表示されないけど、この一文が不要です。
###front-page.phpを編集
front-page.phpのファイルを編集して、「投稿はありません。」を削除します。
※テーマのカスタマイズは必ず子テーマを作成し、バックアップした上で編集してください。
font-page.phpの以下のソースコードを削除します。
このelseブロックは「投稿がなかった場合〜」の分岐処理です。
<div class="well"><p>投稿はありません。</p></div>
と、生成されます。
消えました!
#投稿記事があれば表示されてしまうよ?
上記の方法では、投稿記事がなければ何も表示されませんが、
投稿記事があればもちろん表示されます。(最近の投稿記事一覧が表示)
今回のサイトの場合は固定ページのみの編成なので問題はありませんが、
投稿記事を作成するサイトももちろんあるかと思います。
##もう丸ごと消してしまう
そんな時はもう丸ごと消してしまいましょう笑
またまたfront-page.phpを編集します。
<?php if ( 'page' == get_option( 'show_on_front' ) ) : ?>
このifブロック直後のelseブロックを全て削除します。
if('page' == get_option('show_on_front'))
のifの評価は
管理画面の表示設定が「固定ページ」の場合trueを返します。
なので直後のelseブロックは「最新の投稿」に設定されている時です。
elseブロックを丸ごと消してしまえば「固定ページ」に設定している時だけ、フロントページに表示されるようになります。
これで最新投稿一覧は表示されなくなり、「固定ページ」に設定を変えると固定ページは表示されます。