以前の記事で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/
そして最後に、いいね!が増えていることを確認し、大喜び。