• タグ一覧(タグクラウド)にcurrentクラスをつけたいのですが、
    良い方法が見つかりません(プラグイン無しで行いたいです)。

    wp_tag_cloud()を使い引数のlinkを使えば、固有のクラスをあてることは可能なのですがcurrentクラスはつきません。
    http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/wp_tag_cloud

    下記のサイトを参考にさせていただき、wp_tag_cloud()を使わずに一覧を表示はできたのですが、currentを付ける方法がわかりませんでした。
    http://blog.ale-cole.com/php/wordpress/58/
    php:

    <?php
    $tagList = $wpdb->get_results($wpdb->prepare("
        SELECT t.term_id,t.name,t.slug,tt.count
        FROM $wpdb->terms AS t
        JOIN $wpdb->term_taxonomy AS tt
        USING(term_id)
        WHERE tt.taxonomy = 'post_tag'
        ORDER BY tt.count DESC
    "));
    foreach ($tagList as $value):?>
    <a>slug; ?>/"><?php echo $value->name; ?></a> (<?php echo $value->count; ?>)
    <?php endforeach;?>

    海外のサイトで似たような質問がありそこでは、
    if(is_tag(‘this-tag’)) echo ‘current’;ってそれぞれのタグに書けばどうにかなるんじゃないか?という回答でうまくいっているようでしたが、僕の場合はthis-tagが機能しませんでした。
    http://wordpress.stackexchange.com/questions/16816/assign-a-class-to-the-current-tag-for-formatting

    お知恵をおかしください。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • currentってことは、現在のページが持つタグに、currentクラスをくっつける、ということですよね。

    get_tags()で現在のページに含まれているタグのIDを取得
    http://wpdocs.sourceforge.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/get_tags

    foreach ($tagList as $value):
    の中でifすればいけそうです、、と勘だけで言っていますが。

    できたら経過をおしえてください。

    こんにちは

    if(is_tag(‘this-tag’)) echo ‘current’;ってそれぞれのタグに書けばどうにかなるんじゃないか?という回答でうまくいっているようでしたが、僕の場合はthis-tagが機能しませんでした。

    <?php
    $tagList = $wpdb->get_results($wpdb->prepare("
        SELECT t.term_id,t.name,t.slug,tt.count
        FROM $wpdb->terms AS t
        JOIN $wpdb->term_taxonomy AS tt
        USING(term_id)
        WHERE tt.taxonomy = 'post_tag'
        ORDER BY tt.count DESC
    "));
    foreach ($tagList as $value):?>
    <?php
    $add_style = '';
    $add_class = '';
    if( is_tag( $value ) ){
    	$add_class = 'current';
    	$add_style = 'style="color:red;"';
    }
    ?>
    <p><a <?php echo $add_style;?> class="some etc <?php echo $add_class;?>"><?php echo $value->name; ?></a> (<?php echo $value->count; ?>)</p>
    <?php endforeach;?>

    で動きませんか?

    または、wp_tag_cloud();を使うと、カレントのリンクは、以下のようになるので

    <a href="http://127.0.0.1/wp/?tag=cienaga" class="tag-link-55" style="font-size: 8pt;" rel="noreferrer">cienaga</a>

    <div class="my-cloud">
    <?php wp_tag_cloud();?>
    </div>

    などとしておいて、スタイルを

    .my-cloud a[rel="noreferrer"]{
    	color:red!important;
    }

    でも、いけるかもしれません

    トピック投稿者 sss777

    (@sss777)

    mogueさんアドバイスありがとうございます。
    get_tags()を利用する事でできそーな気がします。
    ただ…,自分のスキルが低過ぎて現状上手くいっていません ><
    勉強不足で申し訳ないです。

    nobitaさんご丁寧に参考コードの作成ありがとうございます。
    動きました! (1つめの方法)
    助かりました。ホントに感謝してます ^^
    ありがとうございました ^^
    2つめのやり方も試してみてご報告したいと思います。

    すみません

    2つ目のやり方、動かないみたいなので、没にしてください

    トピック投稿者 sss777

    (@sss777)

    nobitaさん、
    2つめのやり方ですが、aタグにrel=”noreferrer”が出力されませんでした(tag.phpでの表示)。2つめの方がコードが短くて済むので魅力的ですが今回は見送ります。
    1つめのやり方ですすめようかと思います。
    このたびはありがとうございました ^^

    トピック投稿者 sss777

    (@sss777)

    >>2つ目のやり方、動かないみたいなので、没にしてください

    ご丁寧にありがとうございます ^^
    また機会がありましたらご助言ください。

6件の返信を表示中 - 1 - 6件目 (全6件中)

トピック「タグ一覧(タグクラウド)にcurrentクラスをつけるには?」には新たに返信することはできません。