Not quick a Nine

納得いかない!!

08 2007

PopularityContestについてメモ書き

PopularityContestを利用して色々とカスタマイズしたので、メモ書き。

  1. サイドバーに「人気エントリーTOP10」を表示する。
    • Executable PHP widgetをインストール
      サイドバーウィジェット内でPHPを実行出来るようにする。
    • PHP Code Widgetに人気エントリーTop10のコードを書き込む。
      書き込む内容は

      HTML:
      1. </li><li>
      2.     <ul>
      3.         <!--p akpc_most_popular();-->
      4.     </ul>
      5. </li>

      これでサイドバー内でPHPが実行され、めでたく「人気エントリTOP10」が表示されます。

  2. エントリ終わりの「人気度」の表示を数値表示からグラフ表示に変更する。
    数値表示のままでも十分面白いのですが、 独断と偏見の何でもレビューを見て、これはやらなきゃだめだろ!って事で、早速改造開始です。
    改造内容はプラグインPHPのちょっとした改造とCSSの追加なので、簡単だろうとタカをくくっていたら、大間違いでした。
    いざやってみると、グラフはずれてしまうし、数値はおかしいしと、めちゃくちゃ(^^ゞ
    グラフのずれはCSS関係だからまだ良いとして、数値のずれはなんなんだ?という事で、色々さぐってみると、どうもPHPで数値の取得が一桁しか出来ていないようでした。オリジナルでは

    PHP:
    1. $wk_popularity = preg_replace('/^.*(\d+)%.*$/i', '$1', $akpc->get_post_rank($post->ID));

    となっていて、正規表現を使って、数値以外を置き換えで消すはずなのですが、どうしてもうちでは一桁しか拾ってこない。
    そこで、文字列から数値以外を削除すればいいのだから、ということで

    PHP:
    1. $wk_popularity = ereg_replace('[^0-9]', '', $akpc->get_post_rank($post->ID));

    と変更してみたところ、問題なく動作しました。
    CSSの不都合についてもこちらに、をかもとさんがコメントをくださって、無事に修正完了です。

以上、自分向けのメモでした。

人気度:
11%

Trackback URL

Leave a Reply