サポート » 使い方全般 » 特定のカテゴリー名を表示させない

  • 解決済 suberuba

    (@suberuba)


    <?php the_category(); ?>を使って、記事ごとに属するカテゴリー名を表示させています。
    特定のカテゴリー名のみ、表示させないようにする方法はありますでしょうか?

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • 長いですけど(未検証)。

    $cats = get_the_category();
    $exclude = array(1,3,5); // 不要なカテゴリのID
    foreach((array)$cats as $cat)
      if(!in_array($cat->cat_ID, $exclude)
        echo '<a href="' . get_category_link($cat->cat_ID) . '">' . $cat->cat_name . '</a>';

    不要なカテゴリー名を指定する、などお好みでアレンジしてください。

    トピック投稿者 suberuba

    (@suberuba)

    kzさん、こんにちは。
    PHP初心者のため、せっかく考えて頂いたコードがうまく使えません。
    お手数ですが、初歩的な部分から教えて頂けますでしょうか。

    下記コードで記事を出力しています。

    <?php if(have_posts()): while(have_posts()): the_post(); ?>
    <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
    <?php the_category('/'); ?>
    <?php the_content(); ?>
    <?php endwhile; else: ?>
    記事がないときのメッセージ
    <?php endif; ?>

    このコードにどのように組み込んでいけば良いのかがわかりません。
    単純に<?php>で閉じるだけではエラーが出ます。
    勉強不足で申し訳ありません。

    <?php $cats = get_the_category();
    $exclude = array(1,3,5); // 不要なカテゴリのID
    foreach((array)$cats as $cat)
      if(!in_array($cat->cat_ID, $exclude)
        echo '<a href="' . get_category_link($cat->cat_ID) . '">' . $cat->cat_name . '</a>'; ?>

    (失礼ながらフォロー)
    kzさんのコードでOKなのですが、if文の閉じ括弧「)」が落ちてしまっていますね。

    if(!in_array($cat->cat_ID, $exclude))
    とすればエラーにはなりませぬ。

    トピック投稿者 suberuba

    (@suberuba)

    kzさん、kurosquareさん、上記コードで思い通りの結果が得られました。
    本当にありがとうございます!

    よかったです。未検証コードで回り道になってごめんなさいでした。

    フォローありがとうございます > kurosquareさん。

    解決済でしたら
    このページの右側のわかりにくい場所に
    「このトピックは」とありますので
    [未解決]を[解決済]に変更して
    [変更]ボタンをクリックしていただくと
    良い感じです。

    トピック投稿者 suberuba

    (@suberuba)

    気がつかず、申し訳ありません。解決済にしました!

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • トピック「特定のカテゴリー名を表示させない」には新たに返信することはできません。