WordPressのプラグインの中でもよく使われると思う「WP Social Bookmarking Light」ですが、
リンクが画像ではなくテキスト表示のままとなってしまうことがある。
■異常時(Twitterがテキストのまま)
「WP Social Bookmarking Light」はwp_head()やwp_footer()をフックしてそれぞれ必要なJavaScriptを読み込むため、サイトのテーマを修正していて、wp_head()やwp_footer()が存在しない、もしくは消してしまっていることが原因であることが多い。上記Twitterの場合はwp_footer()が無かったために発生していた。
もしテキスト表示になってしまったときは、サイトテーマを再確認してみることをお勧めします。
フック | ソーシャルボタン |
wp_head() | tumblr、facebook |
wp_footer() | twitter、evernote、Google +1、pinterest |
// initialize
function wp_social_bookmarking_light_init()
{
add_action('wp_head', 'wp_social_bookmarking_light_wp_head');
add_action('wp_footer', 'wp_social_bookmarking_light_wp_footer');
add_filter('the_content', 'wp_social_bookmarking_light_the_content');
add_action('admin_menu', 'wp_social_bookmarking_light_admin_menu');
}
/**
* wp_footer function
*/
function wp_social_bookmarking_light_wp_footer()
{
?>
<!-- BEGIN: WP Social Bookmarking Light -->
<?php
// load options
$options = wp_social_bookmarking_light_options();
$services = explode(",", $options['services']);
/*
* load javascript
*/
// twitter
if (in_array('twitter', $services)) {
echo "<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>\n";
}
// evernote
if (in_array('evernote', $services)) {
echo '<script type="text/javascript" src="http://static.evernote.com/noteit.js"></script>'."\n";
}
// Google +1
if (in_array('google_plus_one', $services)) {
$lang = $options['google_plus_one']['lang'];
echo '<script src="https://apis.google.com/js/platform.js" async defer>{lang: "'.$lang.'"}</script>'."\n";
}
// pinterest
if (in_array('pinterest', $services)) {
if ($options['pinterest']['type'] === 'all') {
$data_pin_hover = $data_pin_shape = $data_pin_color = $data_pin_lang = $data_pin_height = '';
} else {
$data_pin_hover = 'data-pin-hover="true"';
$shape = $options['pinterest']['shape'];
$data_pin_shape = $shape === 'round' ? 'data-pin-shape="round"' : '';
$data_pin_color = 'data-pin-color="'.$options['pinterest']['color'];
$data_pin_lang = 'data-pin-lang="'.$options['pinterest']['lang'];
$data_pin_height = '';
if ($options['pinterest']['size'] === 'large') {
$data_pin_height = $shape === 'round' ? 'data-pin-height="32"' : 'data-pin-height="28"';
}
}
echo '<script type="text/javascript" async defer '
.$data_pin_shape.' '
.$data_pin_color.' '
.$data_pin_lang.' '
.$data_pin_height.' '
.$data_pin_hover.' '
.'src="//assets.pinterest.com/js/pinit.js"></script>';
}
?>
<!-- END: WP Social Bookmarking Light -->
コメント