WordPressの投稿欄に入力がある場合とない場合とで条件分岐する方法について、コピペで使えるコード付きでご紹介します。
カスタムフィールドを多用したページで本文の方がサブに回るようなページもあったりするので、そんな時に活用できると思います。
WordPressの投稿欄が空欄かそうでないかで条件分岐
早速ですが、コードを紹介します。
こちらが「投稿欄が空欄かどうか」で条件分岐するためのコードです。
すごくシンプルなコードなので特に解説も必要ないと思います。上記のコードをコピペしてお使いください。
<?php if( empty($post->post_content) ): ?> 投稿欄が空欄の場合 <?php else: ?> 投稿欄に入力がある場合 <?php endif; ?>
WordPressの投稿欄に入力があった場合にのみ表示させる
また、空欄の時には、代替テキストなどを表示させるよりも非表示にしたいケースがほとんどだと思うので、そんな時は下記のような書き方でも大丈夫です。
<?php if( !empty($post->post_content) ): ?> 投稿欄に入力がある場合 <?php endif; ?>
emptyの頭にビックリマークを入れたことで、「投稿欄が空ではない場合」という意味に変わります。よりすっきりとしたコードになりますね。
活用方法
個人ブログとして使う場合は、WordPressで本文を入力せずに使うシーンが想像しにくいですが、冒頭にも書いたような「カスタムフィールド」の方が軸となるページの場合には便利に使えますよ。
例えば、カスタムフィールドを使ってデータを羅列したページがあり、コメントが必要な場合は本文に追記するという運用をする場合。
コメントの追記があれば見出しと中身が一緒に表示され、投稿欄が空欄だったら見出しごと非表示にできます。
今回ご紹介したコードを使わない場合だと、文章が入力されてない場合でも見出しだけ出てしまうことがあるので、そんな時にぜひ使ってみてください。
最後に
先日カスタム投稿タイプで投稿欄が空になるページが多かったため、今回ご紹介したコードを使いました。
WordPressで使える条件分岐については他にもたくさん記事を書いてますので、よかったら他の記事も覗いてみてください。