サポート » プラグイン » Popular Postsでカテゴリースラッグを取得する方法

  • 解決済 warusararusa

    (@warusararusa)


    現在Wordpress Popular Postsを使用しており、
    カテゴリースラッグ取得してclassに追加したいと考えています。

    <div class="<?php $cat = get_the_category(); $catslug = $cat[0]->slug; ?><?php echo $catslug; ?>">

    上記のような記述が出来れば理想なのですが、
    Popular Postsのウィジェットに[投稿用HTMLマークアップ]という箇所がありますが、
    HTMLのみの記述となっており、カテゴリースラッグを取得する記述を行うことが出来ません。

    例としてLIGさんのサイトだと人気記事ランキング(sidebar)のサムネイル下に記事ごとのカテゴリーが表示されています。
    http://liginc.co.jp/

    どうような手段を用いれば、この実装を実現できるのでしょうか。
    お分かりの方がいれば、お教えいただけると幸いです。
    よろしくお願いいたします。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • 残念ながら、WordPress Popular Posts には、カテゴリを個別に取得する関数や API が用意されていません。テンプレート関数の、wpp_get_mostpopular() と、ショートコード [wpp] でカスタマイズできる部分以外はハードコーディングされています。

    お望みのことをそっくり実現するには、本体に手を入れるか、出力まではプラグインにやってもらって、それを整形し直すしかないと思います。たとえば、次のようなことが考えられます。

    $wpp_data = do_shortcode('[wpp limit=10 range="all" stats_comments=0 stats_category=1 post_html="<li>{category}<a href='\{url}\'>{text_title}</a>"]');
    echo $wpp_data;

    のような感じで出力を変数に代入します。wpp_get_mostpopular() はその場で echo するので、使えません。

    <ul class="wpp-list">
    <li><a>categrory_name</a><a>post_title</a></li>
    ...
    </ul>

    というような出力が得られますから、これを echo せずに、プログラムで書き換えれば、お示しになった形に整形できると思います(ちょっと間抜けな感じですが…)。

    関数やショートコードのオプションは、管理画面で説明を読むことができます。

    すいません、二重になっちゃいました。

    トピック投稿者 warusararusa

    (@warusararusa)

    ご返信おくれてすいません。
    kjmtshさん、ご返信ありがとうござました。

    やはり、このプラグインはハードコーディングされているため、
    カスタマイズに限度があるのですね。
    ご丁寧にサンプルサースまで付けていただき、ありがとうございます。

    私自身phpがそこまで詳しくないので、
    どこまで出来るか分かりませんが、ご教授いただいたものを
    ベースに実装してみます。
    本当にありがとうございました。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「Popular Postsでカテゴリースラッグを取得する方法」には新たに返信することはできません。