サポート » 使い方全般 » 特定カテゴリーの除外(wp get archives)

  • 解決済 giabit333

    (@giabit333)


    wp get archivesの設定について質問をさせてください。

    只今トップページのサイドバーにてテンプレートタグのwp get archivesで

    <?php wp_get_archives('type=postbypost&limit=10');?>

    最新記事10件を表示させています。

    この中から特定カテゴリーだけ除外をしてリスト表示をさせたいのですが例えば
    wp list categoriesのexcludeのように簡単に除外させることができませんでした。

    フォーラム内の検索で類似質問の投稿を拝見してプラグインを使うなど方法もあるとの
    ことでしたが単に上記の形で特定カテゴリーだけを除外して記事リストを表示させたい
    のみのことですのでプラグインを使ってまでということであればあきらめます。

    テンプレートタグにパラメータをわたすことで特定カテゴリーの記事リストだけを
    非表示にさせる簡単な設定方法はありますでしょうか?

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • いまいち最終形をどうしたいのかがわからないのですが、query_posts を使うとかはどうですか?

    wp_get_archives() にパラメータを渡す方法で特定のカテゴリーを除外することは、残念ながら出来ません。ただ、この実装そのものをあきらめてしまう前に、 kvex さんのアドバイスの通り、 query_posts() を使用する方法を試してみることをおすすめしたいです。プラグインを使いたくないのであれば特に、ご自分で WordPress ループを作成するのが最適解だと思います。

    以下簡単な例ですが参考になさってください。

    <?php // カテゴリーID 1,2,3 を除外した最新 10 件のクエリを発行
    query_posts( array(
        'category__not_in' => array( 1, 2, 3 ),
        'showposts' => 10, ) );
    if ( have_posts() ) : ?>
    <ul>
        <?php // WordPress ループ
        while ( have_posts() ) :
           the_post();
            $url  = apply_filters( 'the_permalink', get_permalink() );
            $text = apply_filters( 'the_title', get_the_title() );
            // wp_get_archives() と同じリスト形式にする
            echo get_archives_link( $url, $text, 'html' );
        endwhile; ?>
    </ul>
    <?php endif;
    // 変更したクエリを元に戻す
    wp_reset_query(); ?>

    関連:

    トピック投稿者 giabit333

    (@giabit333)

    kvex様、mizube様、ご回答をありがとうございました。

    >kvex様

    いまいち最終形をどうしたいのかがわからないのですが、

    はい、実は通常の投稿記事とは別にブログ運営日記というブログの運営に携わる話題だけのコーナーを設けようと思いまして両者を区別したかったものですから運営日記の記事はquery_posts()を使いトップページではなくAboutのページに掲載するように設定ました。カテゴリーリストも運営日記のカテゴリーだけは外したかったので wp_list_categories()タグでexcludeパラメータをわたして非表示にできました。同じく最新記事リストも通常記事のリストと運営日記のリストは切り分けたかったので wp_get_archives() タグ内でカテゴリーリストのように簡単に除外できないかと考えたのですがmizube様の仰るように

    wp_get_archives() にパラメータを渡す方法で特定のカテゴリーを除外することは、残念ながら出来ません。

    できないことをやろうとしたものですから行き詰まってしまいました。途中query_posts()を使って試行錯誤してみたのですが自身のスキル不足から上手く記述できずに挫折していました。検索で引っ掛かった事例でプラグイン Advanced Category Excluder を使用すれば簡単にできますとの情報も得たのですが特定の記事タイトルだけ記事リスト表示から除外したいというだけのことでしたのでプラグインを使用してまでそれに拘ることもないですし最後にこちらのフォーラムで質問をしてみて良い方法がご指南いただければと思いました。

    >mizube様

    解り易い例題をありがとうございます。おかげさまで最新記事リストから特定カテゴリーの記事タイトルのみ除外をすることができました。自分のレベルが低くこの質問内容に限らずテンプレートタグの設定をするのに WordPress Codex を見ながらでも上手く記述することができないこともしばしばでこのたびのmizube様に提示していただいたような例題の形は本当にありがたく助かります。

    長くなってしまいましたがお二人には感謝をしております。
    ありがとうございました。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「特定カテゴリーの除外(wp get archives)」には新たに返信することはできません。