ズボラ応援ブログ始めました

コピペでOKプラグインなし!押したくなる…かもしれないシェアボタン

ブログ運営

アイキャッチ画像を背景に使ったシェアボタンボックスを作ってみました。

こちらがイメージです。

シェアボタンの作り方

HTML

FontAwesomeを既に導入している方はそのままコピペでOKです。

FontAwesomeの導入がまだの方は1行追加するだけ!簡単かわいいアイコンフォントFontAwesomeを導入する方法に導入方法を書いてるので、参考にしてみてください。

<?php
$thumbnail_id = get_post_thumbnail_id();
$thumbnail_url = wp_get_attachment_image_src( $thumbnail_id , 'full' )[0];
$url_encode=urlencode(get_permalink());
$title_encode=urlencode(get_the_title());
?>
<div class="share_box" style="background-image: url('<?php
if(has_post_thumbnail()) :
echo $thumbnail_url;
else :
echo get_stylesheet_directory_uri(); ?>/images/no-img.png<?php
endif; ?>')">
<div class="share_content">
<p class="futomoji"><?php the_title();?></p>
<p>この記事が気に入ったらシェアしてね</p>
<!--ツイートボタン-->
<a onclick="window.open('//twitter.com/intent/tweet?url=<?php echo $url_encode ?>&text=<?php echo $title_encode ?>&tw_p=tweetbutton', '', 'width=500,height=450'); return false;" class="share_btn"><i class="fa fa-twitter"></i>ツイート</a>
<!--Facebookボタン-->
<a href="//www.facebook.com/sharer.php?src=bm&u=<?php echo $url_encode;?>&t=<?php echo $title_encode;?>" target="_blank" class="share_btn" ><i class="fa fa-facebook"></i>シェア</a>
<!--はてブボタン-->
<a href="//b.hatena.ne.jp/entry/<?php the_permalink(); ?>" data-hatena-bookmark-layout="simple" title="<?php the_title(); ?>" class="share_btn" target="_blank" ><span class="htbmark">B!</span>はてブ</a>
</div>
</div>

現在のテーマのimagesフォルダにno-img.pngを準備するか、既に用意あるno-img用の画像のURLに書き換えて使ってください。

wp_get_attachment_image_srcはアイキャッチ画像のURLやサイズなどを取得できる関数です。

戻り値は配列になっており、次の値が返ってきます。

  • [0] => url
  • [1] => width
  • [2] => height
  • [3] => リサイズされいている場合は true、元のサイズの場合は false

返ってきたURLをHTMLに書き出す場合はechoする必要があります。

似たような関数にthe_post_thumbnailがありますが、こちらwidthやheightが指定されたimgタグが返ってきます。

the_post_thumbnailはechoしなくても<?php the_post_thumbnail(); ?>と書くだけでその場所にアイキャッチ画像が表示されます。

css

/*-- 記事下シェアボックス --*/
.share_box{
margin-bottom:20px;
border-radius:5px;
background-position: center;
background-size: cover;
position: relative;
width:100%;
overflow: hidden;
}
.share_box::before {
content: '';
background-color: rgba(0,0,0,0.6);
background-image: linear-gradient(90deg, rgba(0,0,0,.15) 50%, transparent 50%), linear-gradient(rgba(0,0,0,.15) 50%, transparent 50%);
background-size: 2px 2px;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
.share_content{
color:#FFF;
position:relative;
padding:50px 0;
text-align:center;
}
.share_btn{
display: inline-block;
margin:5px 2%;
width: 25%;
height: 30px;
text-decoration: none;
text-align: center;
font-size: 14px;
line-height: 30px;
color:#fff;/*-- ボタンの文字の色はここで設定 --*/
font-weight: bold;
background:#56BACC;/*-- ボタンの色はここで設定 --*/
overflow: hidden;
border-radius: 10px;
box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.29);
transition: .3s;
}
.share_btn .fa,
.share_btn .htbmark{
display:inline-block;
font-size:16px;
line-height:30px;
margin-right:5px;
}
.share_btn:hover{
-webkit-transform: translateY(-5px);
-ms-transform: translateY(-5px);
transform: translateY(-5px);
background: #cb5393;/*-- マウスオーバーしたときのボタンの色 --*/
box-shadow: 4px 4px 2px rgba(0, 0, 0, 0.29);
}
.futomoji{
font-weight:bold;
}

レスポンシブに対応させてる場合はボタンの幅を80%くらいにして、タブレット以上は25%とかにしてみてください。

タイトルとURLをコピーしました