僕は正直ネットの更新はあまり好きでは無いので、可能な限り自動化したいと思い最近は色々考えて時間を浪費しております。
そして再び深い悩みに落ちて、たかが少しのコードを書くのに迷走しておりましたが、8割出来たので相変わらず自分メモ的なネタです。
Jetpackの統計データからwelcartに合わせてランキングを出力する方法
welcartにはベストセラーの機能があったり、使わせて頂いているBlancのテーマにもオススメ商品やNewアイテムを出力出来るようになっており大変便利ではあるのですが、オススメ商品はカテゴリに分類するのが面倒。ベストセラーは色々な物が万遍なく売れないと掲載商品に動きが無いので何となく微妙。という事でアクセス数から出力するのが手っ取り早いと思って取り組みました。
ちょうど手を加えてるとき、Blancの作者Mamekko様のブログ(Welcartカスタマイズブログ)でPopularPostsが取り上げられていて、やっぱりPopularPostsを使おうか揺れまくったのですが、プラグインを増やさない為にJetpackの統計データから出力してみました。
参考させていただいたサイトはコチラ>>恵方巻きの具
参考にさせて頂いたコードをWelcartに合わせてみました。
<?php $top_posts = stats_get_csv('postviews', "days=3&limit=10"); ?> <?php foreach($top_posts as $post): ?> <?php $post_obj = get_post($post['post_id']); ?> <?php if (isset($post_obj) && $post_obj->post_type == 'post' && $cnt < 4) { $pop_img = usces_the_itemImage(0,300,300,$post_obj,"return"); $pri = usces_the_firstPrice('return', $post_obj ); $price = number_format($pri); $itemName = usces_the_itemName('return', $post_obj ); echo ' <li><article class="thumbnail-box"><a href="'.get_permalink( $post_obj->ID ).'">'.$pop_img.'<h2 class="thumb-title entry-title">'.$itemName.'</h2>¥'.$price.'<em class="tax">(税別)</em></a></article></li>'; $cnt++; } ?> <?php endforeach; wp_reset_postdata(); ?>
days=3&limit=10 が日数と調べる記事数です。上記コードでは $cnt < 4 で4記事出力していますので、4記事見つかる分統計を調べる必要があるので、固定ページ等もある事を踏まえて出力する記事数よりも多くlimitを指定するほうが良いです。 上記コードでは投稿タイプのみ出力してますので、固定ページは出力されません。 本当は商品カテゴリのみに分岐させたかったんですが、何度やっても分岐させられず・・・。とりあえず、僕がやっているWelcartのサイトではブログとの共存関係はホボ無いので商品ページ以外が上位に来ることは無いでしょうから、上のコードのまま書いてしまいましたが、もし参考にして人気記事を出力する場合、ブログと共存してるサイトはカテゴリでの分岐が必要です。分岐させる方法知りたいので、出来たら教えて下さい。 とりえあえず、ウチのサイトでは無事に出力されているようなので、時間をみてカテゴリの分岐を再度考えてみようと思います。誰か教えてくれると本当にありがたいんだけど・・・