IT仕事

バズ部のテーマ xeory base でfacebookの「いいね」のカウント引き継ぐ

投稿日:

会社のサイトで、WordPressでバズ部のテーマ xeory base を使っている。
で、この度、最近、弊社サイトの常時SSL化に向けて準備を進めている。

ところで、サイトをhttps化すると、チビチビ貯めたfacebookの「いいね」のカウントがリセットされるらしい。テストしてみるとまさにその通りになった。

XeoryBaseのテーマは、そのままでは、何らかの対応が必要になる。
で、いろいろ調べたところ、SNS Count Cache というプラグインがいいみたいという記事を多く見かけた。

しかしプラグインをインストールしてみたものの、どうやってxeoryのテーマに組み込んでよいのかわからない(対応テーマなら簡単らしいのでが、あいにく)。
結局、SNS Count Cache は諦めて、以下のやり方にした。

ページの説明で赤で表示されている部分を参考に数か所修正しただけでアッサリOk。

参考:HTTPからHTTPSへの変更時にソーシャルボタンのカウント数を(見た目上)引き継ぐ方法|コラム アユダンテ株式会社

修正箇所は、themes/xeory_base/lib/functions のsocial_btn.phpの一部。以下、長いけど、実際に直した箇所は少ない。

// 非SSL版の自身のURLを取得 $httpurlに格納
// 参考:HTTPからHTTPSへの変更時にソーシャルボタンのカウント数を(見た目上)引き継ぐ方法|コラム アユダンテ株式会社 <http://www.ayudante.jp/column/2015-07-01/17-24/>
$httpurl = "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; // SSL版の自身のURLを取得 $httpsurlに格納
$httpsurl = "https://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];

        $like =<<<EOF
    
<li class="bzb-facebook">

<div class="fb-like" data-href="{$httpurl}" data-layout="{$fb_disp_type}" data-action="like" data-show-faces="false"></div>

    </li>

EOF;
      }

      if($show_tweet_button){
        $twitter_disp_type = ($type) ? 'data-count="vertical"' : '';
        $tweet=<<<EOF
    
<li class="bzb-twitter">
      <a href="https://twitter.com/share" class="twitter-share-button" {$twitter_disp_type} data-counturl="{$httpurl}" data-url="{$httspurl}" data-text="{$post_title}">Tweet</a>
      <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-wp-preserve="%3Cscript%3E!function(d%2Cs%2Cid)%7Bvar%20js%2Cfjs%3Dd.getElementsByTagName(s)%5B0%5D%2Cp%3D%2F%5Ehttp%3A%2F.test(d.location)%3F'http'%3A'https'%3Bif(!d.getElementById(id))%7Bjs%3Dd.createElement(s)%3Bjs.id%3Did%3Bjs.async%3Dtrue%3Bjs.src%3Dp%2B'%3A%2F%2Fplatform.twitter.com%2Fwidgets.js'%3Bfjs.parentNode.insertBefore(js%2Cfjs)%3B%7D%7D(document%2C%20'script'%2C%20'twitter-wjs')%3B%3C%2Fscript%3E" data-mce-resize="false" data-mce-placeholder="1" class="mce-object" width="20" height="20" alt="&lt;script&gt;" title="&lt;script&gt;" />
    </li>

EOF;
      }

      if($show_google_button){
        $g_disp_type = ($type) ? 'data-size="tall"' : '';
        $google=<<<EOF
    
<li class="bzb-googleplus">

<div class="g-plusone" data-href="{$httpurl}" {$g_disp_type}></div>

    </li>

最初は、私はPHPコードがほとんどわからない人なので、参考ソースを見ただけで「無理!」と思った。
しかし、変数の使い方が参考サイトのサンプルとxeoryがほとんど同じなので、とても簡単だった。

SNS Count Cache は、インストールはしたが、実際には使わず。
けどもダッシューボードで評価の高い記事が一覧できて便利なので、別の利用価値あるかも。

-IT仕事

執筆者:

関連記事

no image

プラスアルファレンタルサーバでxoops

インストールできることを確認。 ほっ。

no image

web2.0

遅ればせながら、WEB2.0関係の本を読んでいる。 ITは世の中を変えてるね。 バーチャル世界を変え、やがてリアル世界を変え。 これから世の中、将来はどう変わっていくんだろう。 次々起こる解決し難い問 …

no image

LimeSurvey2.00+(131009) インストールでトラブル

たまたま使っていたLimeSurveyの管理画面右上に、 「利用可能なアップデート: 2.00+(131009) または 2.05RC2(131011)」 とあったので、 「しばらくアップデートしてい …

LimeSurverのEM機能

仕事で使えるかもと思いつつ、まとまって勉強する時間がなかったLimeSurverのEM機能について、調べてみた。 以下のWEB資料を読みながら実際に使ってみた。 EM/HowEnhanced | Li …

no image

昨日の続きの嬉しさよ

何度も落とされながらも「再チャレンジ」(笑)した結果、なんとか今年の試験で引っかかり、悲願の合格証書を手にした。 う、うれしいー! 昨日はビールとポテチでお祝いした。 振り返ると、結構難しかったなー、 …