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の一部。以下、長いけど、実際に直した箇所は少ない。

[code]
// 非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>

[/code]

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

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

-IT仕事

執筆者:

関連記事

Googleドキュメントの共有したスプレッドシートが表示できない

困った現象: ・ウェブに一般公開設定したスプレッドシートが、ログアウトした状態で、共有できない。 ・共有設定をしているにもかかわらず、共有リンクを開こうしようとするとログイン画面に転送される。 ・スプ …

no image

WordPress + DreamWeaverの環境設定で参考にしたリンク先

DreamweaverとWordPressを連携させてテーマを編集する方法 │ Design Spice DreamWeaverで「このサーバのサイト定義が正しくないため、動的関連ファイルは解決されま …

no image

AccessのデータをGoogleスプレッドシートに表示する

会社のネットショップで、お客様から電話で荷物の出荷状況について問い合わせがあった場合に、現状ではすぐに対応できていなかった。 荷物の伝票番号は、クロネコヤマトのB2のソフトか、あるいはAccessの業 …

Google app scriptの「このアプリはブロックされます」問題にあたった

突然、新規に作成したスプレッドシートでGASのスクリプトを書いて実行しようとすると、「承認が必要です」とのダイアログボックスが表示され、承認操作のあとに、「このアプリはブロックされます」と表示され、ア …

no image

Improved Include Page は便利

最近WordPressを使っていて、「お、これは掘り出し物だ!」と喜ぶことになるプラグインが少ない。 以前は新たなプラグインを発見しては、WordPressのすばらしさ(というよりその周りに集まってき …