表題の通りなのですが、STINGER、AFFINGERでFacebookプラグインが上手く表示されないというご意見を頂きました。
原因としましてはfunctions.phpでYoutube動画のレスポンシブの為にiframeは全て特定のdivタグで囲みwidth100%にしているのが原因です。
で、解決方法として特定のクラスを付与した場合は特定のdivタグで囲まないように次のVerで準備しております。
が、よく伺うとFBのコードは直接ではなくiframeを読み込んでいるので上記対応は出来なさそうです。。
なので、Facebookへの対応方法はひとまず@mayukojpnさんが公開してくれていますのでそちらをシェアさせて頂きます。
現象と原因の箇所 https://github.com/mayukojpn/like-me-if-you-like-this-article/issues/6
修正方法
diff --git a/functions.php b/functions.php | |
index e08b57c..2d8b0cd 100755 | |
--- a/functions.php | |
+++ b/functions.php | |
@@ -323,8 +323,8 @@ if ( !function_exists( 'st_wrap_iframe_in_div' ) ) { | |
function st_wrap_iframe_in_div( $the_content ) { | |
if ( is_singular() ) { | |
$the_content = preg_replace( | |
- '!(<\s*?iframe(?:\s+[^>]*>)?)(.*?)(</\s*?iframe\s*?>)!is', | |
- '<div class="youtube-container">$1$2$3</div>', | |
+ '/(<iframe((?!facebook\.com\/plugins\/like\.php)[^>])*>(.*?)<\/iframe>)/is', | |
+ '<div class="youtube-container">$0</div>', | |
$the_content | |
); | |
} |
ブログカードについてはコチラで記事にされています。
WordPress4.4にてブログカードが正しく表示されない時の対処法 #stinger5 | 考えるオヤジ
http://www.kangaeruoyaji.net/post-4947/?utm_content=buffercd184&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer
皆様、いつもありがとうございます