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

spam対策

Yahooの外部メールがWebメールの画面で受信できなくなった。 Yahooアカウントのメールはできるのに。 Yahooに問い合わせたとこと、「外部メールのプロバイダに障害が起こっている可能性があるか …

no image

Tray Icon Reviver

私が会社で使うPC、微妙に不調。 秀丸とか紙copyとかハードウェアの安全な取り外しとかそのあたりの非常に使用頻度の高いユーティリティが、XPのタスクトレイからよく消えている。 再インストールを試して …

WindowsのエクスプローラでEPSとAIとPSDのサムネイルが表示されないのでSageThumbs

WindowsのエクスプローラでEPSとAIとPSDのサムネイルが表示されないので、SageThumbsというソフトをインストールしてみた。 ・・・けども表示されない。 あらためてGoogle先生に聞 …

WooCommerceのメール通知設定「注文保留」は支払方法「銀行振込」において必須

はまった。 先ほどからWooCommerceをテスト環境でテストしている。 困ったことに、支払方法を銀行振込にしたときに限り(クレジットカードと代引きは影響なし)、メールが注文者に送信しなくなった。 …

クリップボードの画像をファイル保存せずそのまま投稿画面に貼り付けられるとは・・・素晴らしい OnePress Image Elevator

上記の画面は、FireFoxのScreenShoterプラグインで、画面から直接クリップボードに画像を撮って、WPの投稿画面にペーストしただけのもの。 WordPress › OnePress Ima …