会社のサイトで、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="<script>" title="<script>" /> </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 は、インストールはしたが、実際には使わず。
けどもダッシューボードで評価の高い記事が一覧できて便利なので、別の利用価値あるかも。