トップページのサムネイルにSNSシェア数を表示させたい。

Simplicityの特徴 フォーラム 要望・機能追加など トップページのサムネイルにSNSシェア数を表示させたい。

  • このトピックには4件の返信、2人の参加者があり、最後に小林ヒロタカにより5年、 8ヶ月前に更新されました。
4件の返信スレッドを表示中
  • 投稿者
    投稿
    • #29813
      小林ヒロタカ
      ゲスト

      いつもSimplicityを使わせていただいています。ありがとうございます。

      要望なのですが、トップページの記事サムネイルに、小さくていいのでSNSのシェア数を表示させたいです。
      御一考いただけたら幸いです。

    • #29842
      よくできる?学生
      ゲスト

      私の場合はプラグインを使う方法で解決しています。

      使い方はSNS Count Cacheというプラグインをダウンロードして

      シェア数&ensp;<?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/

      お役にたてれば幸いです。

    • #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にアクセスする頻度が上がると重くなるかもですね。

    • #29857
      わいひらわいひら
      キーマスター

      デフォルトでリストに機能を付けると、リストで表示している分だけカウントを取得するので、カウント取得APIに負荷がかかるかなと思ってデフォルトで機能追加は今のところ考えていないです。(
      APIもキャッシュを使っていると思うので大抵は大丈夫と思うんですが)

      なので、よくできる?学生さんの方法か、hidekichiさんの方法でテンプレートをカスタマイズしてください。
      hidekichiさんも書いておられるように、プラグインを使った方法の方がAPIに負荷はかからないと思います。

    • #30215
      小林ヒロタカ
      ゲスト

      小テーマのカスタマイズで考えていたように表示できました!!
      ありがとうございました!!
      よくできる?学生さん、Hidekichiさん、わいひらさん、ありがとうございました。

4件の返信スレッドを表示中
  • トピック「トップページのサムネイルにSNSシェア数を表示させたい。」には新しい返信をつけることはできません。
スポンサーリンク
アドセンス(大)
アドセンス(大)