ブックマークされた数が多い順にエントリーを表示するのに重宝しているSBM_Popular_Entryですが、単純にブックマーク数が多い順だと中々リストの内容が変わらず、どうしても古い記事が上の方に来ます。そこではてなダイアリーで言うところの、注目のエントリー機能が欲しいなぁと思ったので、SBM_Popular_Entryに書き足してみました。このブログでは右側の「最近の注目のエントリー」が、書き足した機能で表示しているリストです。まぁ自分で「注目の」とか言うのは結構恥ずかしいのですけども。
結論だけ書きます。下記のコードをwp-sbm_popular_entry.phpの下の方に書き加えます。汚くてごめんなさい。SQL構築処理に手を入れるのが嫌だったので豪快にコピペしています。ごめんなさいごめんなさい。
function SBM_popular_recent_entry_list($limit=10, $threshold=5, $val="") { global $wpdb; $pluginurl = get_option('siteurl')."/wp-content/plugins/wp-sbm_popular_entry/"; $metalist = $wpdb->get_results( SBM_popular_recent_entry_list_sql($limit, $threshold, $val) ); if ( $metalist ) { ob_start(); foreach ($metalist as $metarow) { $permalink = get_permalink($metarow->ID); $title = $metarow->post_title; $meta = get_post_meta($metarow->ID, "SBM_count", 1); $popup = "iconImageClickHandler(this, '".$permalink."', event)"; list($count, $icon, $link, $add) = _template_parm($pluginurl, $permalink, $title, $metarow->meta_value); if($count['sum'] > 0) include('wp-content/plugins/wp-sbm_popular_entry/template_list.php'); } $content = ob_get_contents(); ob_end_clean(); echo $content; } } function SBM_popular_recent_entry_list_sql($limit, $threshold, $val="") { global $wpdb, $tablepost2tag, $tabletags; $val = mysql_real_escape_string($val); $sql = "SELECT ID, post_title, meta_value "; $sql.= "FROM $wpdb->posts, $wpdb->postmeta WHERE "; $sql.= "$wpdb->posts.ID=$wpdb->postmeta.post_id and meta_key = 'SBM_count' and meta_value >= $threshold ". "ORDER BY ID DESC LIMIT ".$limit; return $sql; }
上記修正を行った後に、リストが欲しい場所で以下のようにします。1つ目の引数(10)はリストのアイテム数の上限で、2つ目の引数(5)はブックマーク数の下限値です。以下の場合は「5ブックマーク数以上のエントリを新しいものから最大10件取得」という事になります。
< ?php SBM_popular_recent_entry_list(10, 5) ?>
これでリピータの方にも最近の活動の様子を少しアピールできるようになりましたね。汚いコードは誰か直して下さい。僕にはもうその元気がありません。あと、以前にちょろっと書いたパッチもあわせて参照して下さいませ。
関連する記事
タグ: php, sbm_popular_entry, wordpress


[...] This post was mentioned on Twitter by taichino. taichino said: Blogged WordPressで、はてなダイアリーで言うところの「注目のエントリー」的なリストを表示する http://bit.ly/b6PU5r [...]
WordPressで、はてなダイアリーで言うところの「注目のエントリー」的なリストを表示する « taichino.com…
この記事は以下サイトで紹介されています。 WordPressハッカーズ…