Re: 記事ランキングにサムネイル表示
永らくありがとうございました › フォーラム › 使い方全般 › 記事ランキングにサムネイル表示 › Re: 記事ランキングにサムネイル表示
2011 年 1 月 27 日 10:02 AM
#3214
ゲスト
toemon様
ありがとうございます。
最初、ランキングが1段ずつずれてしまったので、
以下のようなコードに変更しましたところ無事に表示させることができました。
<code><?php<br /> if (function_exists('counterize_getuniquehitstoday')){<br /> $number = 50;<br /> $wpdb =& $GLOBALS['wpdb'];<br /> $sql = "SELECT p.count as amount, p.url as url, p.url as label, p.postID as post_id , COUNT(m.id) as day_count"<br /> . " FROM " .counterize_logTable(). " m, " . counterize_pageTable(). " p "<br /> . " WHERE m.pageID = p.pageID and p.postID IS NOT NULL and "<br /> . " m.timestamp >= '$onedayago'"<br /> . " GROUP BY p.url "<br /> . " ORDER BY day_count DESC LIMIT $number";<br /> $rows = $wpdb->get_results($sql);<br /> $ranking = 1;<br /> foreach($rows as $row){<br /> $postid = $row->post_id;<br /> $post_data = get_post($postid);<br /> $title = $post_data->post_title;<br /> $ranking_text = $ranking . '位';<br /> $image_url = 'http://example.com/uploads/ranking/ranking_' . $ranking . '.gif';<br /> if (@fclose(@fopen($image_url, "r"))){<br /> echo '<img src="' . $image_url . '" alt="' . $ranking_text . '"/>';<br /> }else{<br /> echo $ranking_text . '' ;<br /> }<br /> if(function_exists('the_qf_get_thumb_one')){<br /> <br /> echo '<a href="'. $row->url . '">' . the_qf_get_thumb_one("num=0&width=120&tag=1","",$post_data->post_content) . '</a>';<br /> }<br /> echo '<a href="' . $row->url . '">'. $title . '</a><hr style="clear:both;margin-top:3px;">';<br /> $ranking++;<br /> }<br /> }<br /> ?></code>
また、サムネイル自体にも記事リンクを取得するために
以下のように指定してみました。(これには苦戦しました…orz)
<code>echo '<a href="'. $row->url . '">' . the_qf_get_thumb_one("num=0&width=120&tag=1","",$post_data->post_content) . '</a>';</code>
ちなみに、Counterize IIプラグインで50位までランキング表示していて
同じ記事がランキングされていることに気がつきました。
URLの/modules/を消すために.htaccessで以下のコードを入れているのですが、
おそらく検索ロボットなのか、/modules/を含んだページもアクセスログを
取ってしまっているようです。
.htaccessのコード
<code>RewriteRule xpress$ xpress/ [L]<br /> RewriteRule ^xpress/(.*)$ modules/xpress/$1 [L]</code>
そのため、
1位に来ているページが
40位あたりにもランクインしているという状況です。
1位→http://example/xpress/?p=880
40位→http://example/modules/xpress/?p=880
modulesを含むリンクを引っ張らない、
もしくは記録しないようにする対応策はございますでしょうか。