サポート » 使い方全般 » カスタム分類(タグ型)をリンク付きで取得できない

  • 解決済 pyonko

    (@pyonko)


    よろしくお願いいたします。
    (1)投稿タグでは、サイト内のタグを一括で取得するとき、
    `
    $cloudy_tags = get_tags(array(‘orderby’ => ‘count’, ‘order’ => ‘desc’));
    `
    実行後に、配列要素(個々のタグ)ごとに、
    `
    echo get_tag_link($tag->term_id);
    `
    で個々のタグ一覧ページ(タグ・アーカイブ)へのリンクが取得・表示できます。

    (2)”カスタム分類タグ”の場合、仮に分類名を「faq-tags」として
    `
    $cloudy_tags = get_terms(‘faq-tags’,array(‘orderby’ => ‘count’, ‘order’ => ‘desc’));
    `
    を実行して、
    `
    echo get_term_link($tag->term_id,’faq-tags’);
    `
    でいけそうな気もするのですが、ダメでした。

    カスタム分類(タグ型)をリンク情報付きで取得する方法をご存じの方がいらっしゃったら、どうかご教示ください。

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

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック投稿者 pyonko

    (@pyonko)

    本件は、
    echo get_bloginfo('url') . '/' . 'faq-tags/' . $tag->slug;
    とつなげて出力することで、とりあえず進めることにします。
    関数があるのかもしれませんが、今のところ見つけ出せていません。

    $tagという変数は何を指しています?foreachで回した時のそれぞれの値のことですか?

    もしそういうことでしたら、
    get_tags()の$tag->term_idのところは文字列、数値、オブジェクトでいけますけど、
    get_term_link()の$tag->term_idのところは数値かオブジェクトじゃないとダメみたいです。(バグかもしれません)

    $tag->term_idは文字列ですので、intval()で数値に変換してあげればいけるはずです。
    もしくは$tagをそのまま入れてもいいと思います。

    $cloudy_tags = get_terms('faq-tags',array('orderby' => 'count', 'order' => 'desc'));
    
    foreach ($cloudy_tags as $key => $tag) {
    	echo get_term_link($tag, 'faq-tags');
    	// もしくは
    	// echo get_term_link(intval($tag->term_id), 'faq-tags');
    }
    トピック投稿者 pyonko

    (@pyonko)

    ~~~ヾ(^∇^)おはよー♪ございます!
    誠にありがとうございます!
    二通りの出力方法ともに、タグリンクが取得できました。
    同じような関数でも、改良というか拡張性を考えて作っているのですね。流石はWP。

    この仕組みがよく解るように、intval($tag->term_id) で記述しておくことにしました。これでスッキリしました。

    まことにありがとうございました!

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「カスタム分類(タグ型)をリンク付きで取得できない」には新たに返信することはできません。