個人規模から中規模までのクライアントワークで使えるWordPressのカスタムを中心とした、Web制作に関することを書いてます。

投稿の本文の有無によって処理を変える(一覧・詳細)

投稿の本文の有無によって処理を変える

投稿の本文が空の場合にタイトル一覧からリンクを貼らない方法と、投稿ページでの表示を変更する方法。

アーカイブ系ページ ( archive.php / loop.php 等 )

2,3行目に本文が空の場合の処理を書きます。
5,6行目は通常通り投稿がある場合の処理を書きます。

<?php if( empty( $post -> post_content ) ): ?>
		<!-- 本文が空の場合の処理 -->
		<h2 class="entry-title"><?php the_title(); ?></h2>
<?php else: ?>
		<!-- 本文がある場合の処理 -->
		<h2 class="entry-title"><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h2>
<?php endif; ?>

個別掲示ページ ( single.php 等 )

4行目に、空の場合に出力したい内容を書きます。(空の場合、SEOプラグイン等で noindex 設定をしておくのを忘れずに!)
6〜8行目は通常通り投稿がある場合の処理を書きます。

<?php if ( have_posts() ) : ?>
	<?php while ( have_posts() ) : the_post(); ?>
		<?php if( $post -> post_content == "" ) : ?>
			<!-- 本文が空の場合の処理 -->
			<p><strong>この投稿に本文はありません。</strong></p>
		<?php else : ?>
			<div class="entry-content">
				<!-- 本文がある場合の処理 -->
				<?php the_content(); ?>
			</div>
		<?php endif; ?>
	<?php endwhile; ?>
<?php endif; ?>
検証環境

サーバー:heteml / テーマ:検証用のオリジナルテーマ
WordPress 6.8.1 / PHP 8 / MySQL 8