• 解決済 bubbletmm

    (@bubbletmm)


    以下で生成されるリンクを ランキングというタグをカテゴリ別に絞り込んだ結果が表示されるページへ遷移させたいのですが、どのように記述すればいいでしょうか?

    <ul class=”arrow_box”>
    <?php
    $args = array(
    ‘title_li’ => ”,
    ‘orderby’ => ‘ID’,
    ‘order’ => ‘ASC’,
    ‘echo’ => 0, // echoしない(文字列を返す)
    );
    $list = wp_list_categories($args);
    echo str_replace(‘/?’, ‘/?tag=ランキング&’, $list);
    ?>

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • そういうページ遷移をするリンクを表示したい、ということですよね。その用途に wp_list_categories は向かないので、get_categories を使うのをおすすめします。

    タグのスラッグが例えば ranking で、カテゴリーのIDを aaa(ここでは aaa と書きますが実際には数字です)とすると、「スラッグが ranking のタグをカテゴリ aaa に絞り込んだ結果が表示されるページ」のURLは example.jp/?tag=ranking&cat=aaa です。カテゴリーのIDを取得するのに get_categories が向いています。

    トピック投稿者 bubbletmm

    (@bubbletmm)

    回答ありがとうございます。

    続けざまで申し訳ありません。。パーマリンクに変更が加わり、example.jp/tag/ranking/となっているものをカテゴリで絞ったページに遷移するリンクを表示するためにはどのように書いたらいいでしょうか?

    絞りたいカテゴリーのIDを aaa とした場合、普通は example.jp/tag/ranking/?cat=aaa で大丈夫です。

    <a href="example.jp/tag/ranking/?cat=aaa">ランキングのカテゴリーaaa</a>

    なお、カスタムパーマリンク設定を利用して example.jp/tag/ranking/ になるよう設定してあるなら、example.jp/?tag=ranking&cat=aaa を表示させると WordPress 自身がパーマリンクを example.jp/tag/ranking/?cat=aaa へ自動的に変換してくれると思います。(もしかすると example.jp/category/aaa?tag=ranking へ変換されるかもしれません。)

    トピック投稿者 bubbletmm

    (@bubbletmm)

    ご返信ありがとうございます。
    たとえば、http://webdesignrecipes.com/さんのサイトで以下を試してみましたが、
    miscのカテゴリの記事だけにはならず…。

    http://webdesignrecipes.com/tag/freelance/?cat=misc

    しぼることは難しいのでしょうか?

    bubbletmmさん、?cat= の使い方を間違えていますよ。cat= に続けるのはカテゴリーの「ID」です(カテゴリーのスラッグは無視されます)。

    下記のリンクを試してください。?cat=1 をつけないと投稿が 4 つ、つけると絞り込まれて一つになります。

    http://webdesignrecipes.com/tag/freelance/?cat=1

    また、下記のリンクだとカテゴリーを選んでからタグで絞り込んだことになります。

    http://webdesignrecipes.com/category/webdesign/?tag=HTML5

    トピック投稿者 bubbletmm

    (@bubbletmm)

    ご指摘の通りでした!
    以下のようにcategory.phpにかいており、?tag=XXXとしても絞り込まれません。。
    どのように修正すれば宜しいでしょうか?何度もすみません。

    <?php
    if (is_category()) {
    $this_cat = $cat;
    $query= ‘cat=’ . $this_cat . ‘&orderby=date&showposts=10’;
    query_posts($query);
    ?>

    <h1><?php $cat = get_the_category(); ?>
    <?php $cat = $cat[0]; ?>
    <?php echo get_cat_name($cat->term_id); ?>の新着記事</h1>

      <?php while (have_posts()) : the_post(); ?>
      <li class=”clearfix”>
      “><?php the_post_thumbnail(‘thumbnail’); ?>
      <div>
      <h2>“> <?php the_title(); ?></h2>
      <?php if (wp_is_mobile()): ?>
      <p class=”excerpt”><?php echo mb_substr(get_the_excerpt(), 0, 40); ?></p>
      <?php else: ?>
      <?php endif; ?>
      <p class=”sub”><span class=”cat”><?php the_category(‘, ‘); ?></span><span><?php if(function_exists(‘the_views’)) {the_views();} ?></span></p>
      </div>

      <?php endwhile; ?>

    <?php } ?>

    トピック投稿者 bubbletmm

    (@bubbletmm)

    以下に書き換えたらうまくいきました!
    ありがとうございました!!

    <h1><?php the_category(‘, ‘); ?></h1>

      <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
      <li class=”clearfix”>
      “><?php the_post_thumbnail(‘thumbnail’); ?>
      <div>
      <h2>“> <?php the_title(); ?></h2>
      <?php if (wp_is_mobile()): ?>
      <p class=”excerpt”><?php echo mb_substr(get_the_excerpt(), 0, 40); ?></p>
      <?php else: ?>
      <p class=”lead”><?php the_excerpt(); ?></p>
      <?php endif; ?>
      <p class=”sub”><span class=”cat”><?php the_category(‘, ‘); ?></span><span><?php if(function_exists(‘the_views’)) {the_views();} ?></span></p>
      </div>

      <?php endwhile; else: ?>

    <?php endif; ?>

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • トピック「タグをカテゴリ別に絞り込みたい」には新たに返信することはできません。