投稿本文 the_content()が空かどうかで条件分岐

投稿本文 the_content()が空かどうかで条件分岐

WordPressでのホームページ作りで、オリジナルテーマを作成したり、既存のテーマをカスタマイズする際に、カスタムフィールドを使う場合が結構あるのではないでしょうか?

例えば、カスタムフィールドで定型の入力フォーマットをつくり、本文部分は「スタッフからのコメント」と見出しを付けて表示したいとします。

コードを下記の様に書いた場合、 本文を入力しないでも「スタッフからのコメント」の見出しだけ残ってしまいます。

<section>
	<h3>スタッフからのコメント</h3>
	<?php the_content();?>
</section>

the_content()が空かどうかで条件分岐

the_content()が空だったら「スタッフからのコメント」も表示されないようにしたいですね。

if文を使って、条件分岐させましょう。

コピペOKのthe_content()が空かどうかの条件分岐

<?php if(empty($post->post_content)) { ?>
<!--本文が空(未入力)の場合の処理-->
<?php } else { ?>
<!--本文が何か入力されている場合の処理-->
<?php } ?>

if(empty(★))で★が空だったらとなりますね。

ちなみに、例の場合だと「!」という否定演算子をつかってシンプルに書きました。

<?php if(!empty($post->post_content)){ ?>
 <section>
  <h3>スタッフからのコメント</h3>
  <?php the_content();?>
 </section>
<?php } ?>

if(!empty(★))で★が空じゃなかったらとして else も省略してます。もちろん波括弧じゃなくて、コロンで書いてもOKです。

<?php if(!empty($post->post_content)): ?>
 <section id="bukken-content">
  <h3>スタッフからのコメント</h3>
  <?php the_content();?>
 </section>
<?php endif; ?>

読みやすい方で書きましょう。

if文を色々と使えるようになると、wordpressのカスタマイズやテーマ制作が面白くなりますよ。

この記事を書いた人

木村 太一

ドットワンの代表です。1979年生まれ。3女の父。ゴルフと筋トレが趣味。立川にあるキヤノン代理店に就職後、1万件以上飛び込み営業したのち独立。たくさんの企業を見てきた経験と自分自身も零細企業の経営者ということを活かし、相手の立場に立ったDX推進、ITコンサルを行っております。

お気軽にお問い合わせください

ホームページ、ネットショップの集客方法から、IT機器や、顧客管理、採用に関することまでご相談ください。
WEBマーケティングのノウハウを生かして、お客様のお悩みを解決します。