【wordpress】本文が空(未入力)の場合の条件分岐

直近の制作案件で、投稿記事の本文がない場合は、記事詳細ページヘのリンクを付けないようにしたいという内容。

本文が空(未入力)の場合と本文が空(未入力)ではない場合とで、条件分岐をおこない、処理を変えてあげます。

以下に、サンプルコードを記載しております。

<?php if(empty($post->post_content)): ?>
  <!-- 本文が空(未入力)の場合の処理 -->
<?php else: ?>
  <!-- 本文が空(未入力)ではない場合の処理 -->
<?php endif; ?>

 

以下に、実際に使用したコードを抜粋して記載しております。

【 本文が空(未入力)の場合 】は、タイトルに記事詳細ページへのリンクを付けずに、
【 本文が空(未入力)でない場合 】は、タイトルに記事ページへのリンクを付けるという条件分岐となります。

<?php if(empty($post->post_content)): ?>
  <h2><?php the_title(); ?></h2>
<?php else: ?>
  <h2>
    <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
  </h2>
<?php endif; ?>

 

【 !(ビックリマーク) 】を付けて、【 否定 】にした場合のサンプルコードと、実際に使用することを見越したコードを記載しております。

<?php if(!empty($post->post_content)): ?>
  <!-- 本文が空(未入力)ではない場合の処理 -->
<?php else: ?>
  <!-- 本文が空(未入力)の場合の処理 -->
<?php endif; ?>


<?php if(!empty($post->post_content)): ?>
  <h2>
    <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
  </h2>
<?php else: ?>
  <h2><?php the_title(); ?></h2>
<?php endif; ?>

【応用編】 本文が空(未入力)の場合でも、【 アイキャッチ画像 】を設定している場合は、記事詳細ページへの(single.php)リンクを付けたいとき

タイトルの通り、投稿の本文がなくても【 アイキャッチ画像 】を設定した場合は、記事詳細ページヘのリンクを付けるという内容。

この場合は、【 if(has_post_thumbnail()) 】と組み合わせて、
【 本文が空(未入力)の場合、且つアイキャッチ画像が設定されていない場合 】は、
記事詳細ページへの(single.php)リンクを付けないように条件分岐をさせてあげます。

<!-- 本文が空(未入力)且つ、アイキャッチ画像が設定されていない場合の処理 -->
<?php if(empty($post->post_content) && !(has_post_thumbnail())): ?>
  <h2><?php the_title(); ?></h2>
<?php else: ?>
  <h2>
    <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
  </h2>
<?php endif; ?>

【 &&(and演算子) 】
if(条件1 && 条件2)
条件1、且つ条件2の場合TRUE(どちらにも合うもの)

【 (has_post_thumbnail() 】は、【 アイキャッチ画像 】を設定している場合
【 ! 】を付けてあげることで、【 アイキャッチ画像 】を設定していない場合という、【 否定 】にしています。

SNSでもご購読できます。

コメントを残す

前の記事

次の記事