Simplicityの特徴 › フォーラム › 要望・機能追加など › トップページのサムネイルにSNSシェア数を表示させたい。
- このトピックには4件の返信、2人の参加者があり、最後に
小林ヒロタカにより7年、 8ヶ月前に更新されました。
-
投稿者投稿
-
-
2015年7月23日 9:27 PM #29813
小林ヒロタカ
ゲストいつもSimplicityを使わせていただいています。ありがとうございます。
要望なのですが、トップページの記事サムネイルに、小さくていいのでSNSのシェア数を表示させたいです。
御一考いただけたら幸いです。 -
2015年7月24日 2:18 PM #29842
よくできる?学生
ゲスト私の場合はプラグインを使う方法で解決しています。
使い方はSNS Count Cacheというプラグインをダウンロードして
シェア数 <?php echo scc_get_share_total(); ?>
みたいなコードを表示したいところに貼ればいいです。(今回の場合entry-card.phpに)
上のコードはツイッターやFacebookなどの全てのシェア数を合わせたものになりますが<?php echo scc_get_share_total(); ?>の部分を変えて頂くことによって各SNSのシェア数の表示も可能です。
get_scc_twitter() /*Twitterシェア数の取得*/ get_scc_facebook() /*Facebookシェア数の取得*/ get_scc_gplus() /*Google+シェア数の取得*/ get_scc_hatebu() /*はてなブックマーク数の取得*/
私のサイトもこの方法で問題なく表示されていると思います。http://allstudents.wp.xdomain.jp/
お役にたてれば幸いです。
-
2015年7月24日 5:05 PM #29844
Hidekichi
ゲストこんなのどうですかね?
(function($){ $(function(){ $(".entry .post-meta").append("<div class='test' />"); $(".entry").each(function(){ var url = $(this).find("h2 a").attr("href"); get_social_count_twitter(url, $(".test",this)); }); }); })(jQuery);
すでにSimplicityに備わっているカウント取得関数を利用したものですが、一応試してみたんですけど、うちの記事はあまりシェアされてないので、うまく動作しているのかどうかわかんなかったです(笑)
たぶん、いけてるんじゃないかな(棒)ぐらいの感じです(笑)何をしているかと言いますと、まず.entryの.post-metaの最後に.testを追加しておきます。
次に、.entryをそれぞれループして、.entryの中にあるh2(タイトル)のリンクを抜き出します。
Simplicityのカウントを取得する関数(上記スクリプトはtwitter)の部分を利用して、今抜きだした変数urlをあてがい、.entryの子要素の.test(あらかじめ作って入れておいたやつ)に入れ込みます。今回のは.testという入れ物を作りましたが、これを任意の名前にして、cssで整形したり、.testの中にもうひとつ何かしらブロックを作って、そこにカウント値をあてがうというような事をすれば、複数に対応できるのでは?と思ったり。
.append(“ここを好きなセレクタ”)にしてみたり、get_social_count_twitter(url, $(“ここを好きなやつ”,this));にしてみたら、なんだかうまく行きそうな気がします。
まぁ本音を言うと、折角、書いたと言いますか Simplicityを少し改造してみた part9 SNSボタンのカウント処理大改造を関数化して使ってもらえる方が
色々と助かりますありがたいんですけども(笑)関数化して使ってる例としては ギターを弾き語れ! のシェアボタンあたりです。関数化はしてありますが、このサイトはpjaxを使ってるので中身見てもいまいちよくわからないと思いますが、pjax使ってないwordpressなんかはもっと単純に書けます。
けどまぁpluginでどこかわかりやすい部分に出力して、jQueryで整形というのが良いのではと思います。
最初に書いたスクリプトなら、プラグインも使いませんけども、ちょっと複雑なことをしたり、SNSのapiにアクセスする頻度が上がると重くなるかもですね。 -
2015年7月24日 5:46 PM #29857
わいひら
キーマスターデフォルトでリストに機能を付けると、リストで表示している分だけカウントを取得するので、カウント取得APIに負荷がかかるかなと思ってデフォルトで機能追加は今のところ考えていないです。(
APIもキャッシュを使っていると思うので大抵は大丈夫と思うんですが)なので、よくできる?学生さんの方法か、hidekichiさんの方法でテンプレートをカスタマイズしてください。
hidekichiさんも書いておられるように、プラグインを使った方法の方がAPIに負荷はかからないと思います。 -
2015年7月31日 9:30 PM #30215
小林ヒロタカ
ゲスト小テーマのカスタマイズで考えていたように表示できました!!
ありがとうございました!!
よくできる?学生さん、Hidekichiさん、わいひらさん、ありがとうございました。
-
-
投稿者投稿
- トピック「トップページのサムネイルにSNSシェア数を表示させたい。」には新しい返信をつけることはできません。