サポート » 使い方全般 » 特定のカテゴリ記事を表示する際、本文の有無で表示を分けたい

  • 解決済 yossy8

    (@yossy8)


    お世話になります。
    基礎的な条件分岐かもしれませんが、PHP知識がなく困っております。ご教授いただけると助かります。

    現在、以下のように固定ページに、投稿記事を抽出していますが、
    投稿の本文がある場合、記事タイトルへ記事へのリンクをつける、
    投稿の本文がない場合、記事タイトルのみ表示する、
    という条件にしたいです。

    <?php query_posts('cat=4'); ?>
    				<?php if (have_posts()) : ?>
    					<?php while (have_posts()) : the_post(); ?>
    						<dl>
    							<dt><?php the_date('Y.n'); ?></dt>
    							<dd><a href="<?php the_permalink(); ?>" target="_top"><?php the_title(); ?></a></dd>
    						</dl>
    					<?php endwhile; ?>
    					<?php else : ?>
    				<?php endif;
    wp_reset_query();
    ?>

    別の質問で
    本文の有無は、

    if(empty($post->post_content)) :

    でできるような記事をみつけましたが、
    これを現在のものにうまく追記できず困っております。

    よろしくお願い致します。

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • 該当部分だけですが、以下で出来ると思います。
     

    <?php if(empty(get_the_content()) : ?>
    							<dd><?php the_title(); ?></dd>
    							<?php else : ?>
    							<dd><a href="<?php the_permalink(); ?>" target="_top"><?php the_title(); ?></a></dd>
    							<?php endif; ?>

    トピック投稿者 yossy8

    (@yossy8)

    ありがとうございます。

    ただ、その本文有無の条件分岐を、
    上のやつに合体させると、全体ではどういう記述になるのか・・・すみません、知識不足でそれがわかりません。

    上記のコードを<dt><?php the_date(‘Y.n’); ?></dt>の次の行とそっくり入れ替えるといいです。
    以下の記述の代わりになります。
     

    <dd><a href="<?php the_permalink(); ?>" target="_top"><?php the_title(); ?></a></dd>

    トピック投稿者 yossy8

    (@yossy8)

    <dd>~~~</dd>
    とそっくり入れ替えてみましたが、
    ページが真っ白になってしまいました。
    ↓このように記述しました。どこかいけなかったでしょうか・・・

    <?php query_posts('cat=4'); ?>
    				<?php if (have_posts()) : ?>
    					<?php while (have_posts()) : the_post(); ?>
    						<dl>
    							<dt><?php the_date('Y.n'); ?></dt>
    <?php if(empty(get_the_content()) : ?>
    							<dd><?php the_title(); ?></dd>
    							<?php else : ?>
    							<dd><a href="<?php the_permalink(); ?>" target="_top"><?php the_title(); ?></a></dd>
    							<?php endif; ?>
    						</dl>
    					<?php endwhile; ?>
    					<?php else : ?>
    				<?php endif;
    wp_reset_query();
    ?>

    すみません。
    if(~)の閉じ括弧が一つ足りませんでした。
     

    <?php if(empty(get_the_content())) : ?>

    トピック投稿者 yossy8

    (@yossy8)

    括弧を1つ足しても、真っ白のままでした・・・(^^;
    ん~~、なんででしょう・・・

    すみません。まだミスがありました。
    empty()は変数のみチェックするんでした。
    次のようにしてみてください。
     

    <?php $contents = get_the_content(); if(empty($contents)) : ?>

    トピック投稿者 yossy8

    (@yossy8)

    できましたー!!(>0<
    何度も何度もありがとうございました! m(_ _)m
    本当に助かりました。

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • トピック「特定のカテゴリ記事を表示する際、本文の有無で表示を分けたい」には新たに返信することはできません。