WordPress

httpからhttpsに移行した際にいいねカウントを保持するためにWordPressサイトでやったこと

投稿日:2017年10月31日 更新日:

以前の記事でXeoryBaseのテーマにおいていろいろと作業をしてたことを書いた。

これでもって厄介な「いいねカウント」問題を解決した・・・と思っていたのだが、またおかしくなった。原因は不明。

プラグインかまたは他の設定が悪さをしているのか、いいね1000を越えていた記事がゼロになったりしている。正しくカウントできていないのだ。本日、新しい設定を試してみた。

この件は、悩んでいる人が多いと思うのだが、Webに情報が少ない。誰かのヒントまたは解決につながりますように。

さて、以下の記事をヒントに、
https://www.slideshare.net/foxbitz1/ssl-68806083

こちらのFB公式ページを確認し、
https://developers.facebook.com/docs/plugins/faqs#faq_1149655968420144

以下のページでWPの公開日で条件分岐する方法を見つけて、
https://www.web-myoko.net/blog/wordpress/wordpress-post-get_the_date-strtotime-if/

以下のページでPHPのReplace関数の使い方を調べて、
http://php.net/manual/ja/function.str-replace.php

自分のサイトをHTTPSに移行した日を調べてメモり、

XeoryBaseでog:urlを出力している個所はthemes/xeory_base/lib/functionsのhead.phpであることをつきとめ、該当行を探し、

if (strtotime(get_the_date('Y-m-d')) < strtotime('2017-01-31')){
$meta .= '<meta property="og:url" content="'.esc_url(str_replace("https","http",$url)).'" />' . "\n";
}else{
$meta .= '<meta property="og:url" content="'.esc_url($url).'" />' . "\n";
}

のように書き込み、加えてthemes/xeory_base/lib/functionsのsocial_btn.phpに、

 if (strtotime(get_the_date('Y-m-d')) > strtotime('2017-10-01')){
         $url_fb = $httpsurl;
  } else {
        $url_fb = $httpurl;
 }

のように書き込み、さらに数行下の行を以下のように書き換え、

data-href="{$url_fb}"

確認したら、FTPでファイルを更新。

FBのシェアデバッガーでキャッシュを読み直し。
https://developers.facebook.com/tools/debug/sharing/

 

そして最後に、いいね!が増えていることを確認し、大喜び。

-WordPress

執筆者:

関連記事

no image

WordPressとArtisteerとAdvanced Excerptの抜粋表示について

WordPressで抜粋表示するプラグインを探していて、Advanced Excerptというのがでてきた。 しかし、インストールしてみたが、いっこうに抜粋されない。 なんでかなーと調べてみると、今、 …

YITH WooCommerce Order Trackingのトラッキングコードをメールに表示するには

以下のブログ主さんが、表題の件を実現する方法をレクチャしてくれているのを発見、けども・・・。 WordPress YITH WooCommerce Order Trackingのトラッキングコードをメ …

no image

WordPressの固定ページのページネイションで、ひと苦労

・WordPressで作ったWebサイト上で、とある固定ページのひとかたまりにおいて、100ページほどの報告書を目次付きで載せている。 ・で、頁をめくるような要領で、次へとか戻るとかのページを移動する …

no image

トップページに「新着一覧」としてカスタム投稿を日付つきで出したく、以下のページを参考にして(コピペして)作ってみたのだが、うまくいかない。 WordPress カスタム投稿の一覧をトップページ表示する …

no image

ディレクトリを作成できませんでした。 /public_html

この現象、WP_MEMORY_LIMITがおかしいかもという書き込みを見つけて、 wp-settings.phpの適当な箇所に以下を書き込んだら、直った。 define(‘WP_MEMOR …