
今回は Facebookシェア数を復元 する方法について。
様々なサイトでSSL化(https://〜)が進んでいる中、URLに紐づくサービス、Facebookの「いいね!数」や「シェア数」などはカウントが”0″になってしまいます。プラグイン等でも解消出来ると思いますが、今回は諸事情のため、phpファイルにコードを追加します。
目次
諸事情
今回は別な方が制作したオリジナルテーマへのカスタマイズ依頼頂いたため、プラグインはできるだけ使いたくありません。
header.phpやfunctions.phpで実行する方法が一般的だと思いますが、今回作業するテーマは、投稿についてはsingle.phpに直接ヘッダー部分も記述されていたため、
single.phpにコードを追加しました。
追加したコード
PHP
# "if(have_posts()):while (have_posts()):the_post(); など情報取得後に"
$nowid = get_the_ID();
$fbnow = get_permalink($nowid);
if( strtotime(get_the_date('Y-m-d')) < strtotime('2018-11-30') ){
$fblink = str_replace( 'https://', 'http://', $fbnow );
} else {
$fblink = $fbnow;
}
header、body修正前
<meta property="og:url" content="<?php echo get_permalink($nowid); ?>" /> . . . <div class="fb-share-button" data-href="<?php echo get_permalink($nowid); ?>" data-layout="button_count" data-size="small" data-mobile-iframe="true">...
header、body修正後
<meta property="og:url" content="<?php echo $fblink; ?>" /> . . . <div class="fb-share-button" data-href="<?php echo $fblink; ?>" data-layout="button_count" data-size="small" data-mobile-iframe="true">...
あわせて、 .htaccess で、httpsへの転送を記述している場合は以下のような形に修正します。
.htaccess修正前
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</IfModule>
.htaccess修正後
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_USER_AGENT} !(facebook|Facebot)[NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</IfModule>
functions.php で実装するには?
まずheader.php等で該当する箇所をコメントアウトします。(もちろん作業は子テーマで)
その後、fanctions.php に追記します。
functions.php
function fb_meta_ogp {
global $post;
$fbnow = get_permalink($nowid);
if( strtotime(get_the_date('Y-m-d')) < strtotime('2018-11-30') && is_singular() ){
$fblink = str_replace( 'https://', 'http://', $fbnow );
} else {
$fblink = $fbnow;
}
$insert = '<meta property="og:url" content="'.esc_url($fblink).'" />' . "\n";
echo $insert;
}
add_action('wp_head','fb_meta_ogp');
テストしていませんが、多分こんな感じで大丈夫だと思います。
自己紹介
松田 大と申しますm(_ _)m
インディーズでミュージシャンをやっていたのですがいつのまにか…
とある企業でショップのアルバイトスタッフから正社員、支店長を経てシステム部門に異動するという、開発担当としては変わった経緯を持っている方だと思います。
「Excel VBA」からスタートして、Yamaha RTX シリーズで VPN環境構築、Hyper-V環境構築、Windowsアプリ開発などを経験した後、「 WordPress 」に出会い、どっぷりハマっています。
現在勤めているETBS合同会社では、「 WordPress 」を活用したWEBサイト、業務用WEBアプリケーション開発を中心に、記事の執筆代行や掲載に必要な情報のリサーチ、映像のテロップ入れや切りはりなどの簡単な動画編集なども、まとめて行なっています。
宮崎県 都城市 出身。東京都 葛飾区 在住。現在、代表兼二児のパパ。子育てを通じて、こどもたちにもプログラミングの楽しさに触れてほしいと思うようになり、「 こどもICTかつしか教室 」を開講中。最近は童心に帰り、簡単なゲーム制作なんかも楽しんでいます(^_^)。
インディーズでミュージシャンをやっていたのですがいつのまにか…
とある企業でショップのアルバイトスタッフから正社員、支店長を経てシステム部門に異動するという、開発担当としては変わった経緯を持っている方だと思います。
「Excel VBA」からスタートして、Yamaha RTX シリーズで VPN環境構築、Hyper-V環境構築、Windowsアプリ開発などを経験した後、「 WordPress 」に出会い、どっぷりハマっています。
現在勤めているETBS合同会社では、「 WordPress 」を活用したWEBサイト、業務用WEBアプリケーション開発を中心に、記事の執筆代行や掲載に必要な情報のリサーチ、映像のテロップ入れや切りはりなどの簡単な動画編集なども、まとめて行なっています。
宮崎県 都城市 出身。東京都 葛飾区 在住。現在、代表兼二児のパパ。子育てを通じて、こどもたちにもプログラミングの楽しさに触れてほしいと思うようになり、「 こどもICTかつしか教室 」を開講中。最近は童心に帰り、簡単なゲーム制作なんかも楽しんでいます(^_^)。







コメントを残す