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であることをつきとめ、該当行を探し、

[code]
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";
}
[/code]

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

[code]
if (strtotime(get_the_date(‘Y-m-d’)) > strtotime(‘2017-10-01’)){
$url_fb = $httpsurl;
} else {
$url_fb = $httpurl;
}
[/code]

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

[code]data-href="{$url_fb}"[/code]

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

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

 

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

-WordPress

執筆者:

関連記事

no image

WP-chgFontSize WordPress plugin

文字サイズを変更できるWordPressプラグインを試してみた。 http://wordpress.org/extend/plugins/wp-chgfontsize/ 上記のプラグインは、通常通りの …

no image

WordPressで手軽にスライドショーができるプラグインがないかと探してみたら見つけた

Cross Slide Cross Fade http://wordpress.org/extend/plugins/crossslide-jquery-plugin-for-wordpress/ イ …

no image

WordPressでトップページに更新一覧を表示したい

WordPress2.7を使っている。 更新一覧を、サイドバーに出すのは、簡単(ウィジェットを使えば)。 しかし、トップページに入れるのは、難しい。テンプレートをいじらないといけない。 is_fron …

no image

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

no image

Utime failed?

昨日から突然、このサイトのページ上に以下のメッセージが出るようになった。 Warning: touch() [function.touch]: Utime failed: Permission den …