WordPress でライン風の吹き出しを作るショートコード(プラグインなし)
LINE 風の吹き出しを簡単に記事に挿入できるショートコード。
A Gain Sierra の記事 ↓ を書く際に必要になったので作った。
サンプル
とりあえず先にサンプルから(実際の会話から抜粋w)
保育園建設も地元の人が反対するし・・・自分には孫はいないのか?って思うわ
保育園建設に反対って、どんな理由だ?
保育園できると、送り迎えの車が邪魔とか、子供の声がうるさいんだって・・・
酷い理由だな
まぁ、保育園作っても保育士がおらんけどな
作り方
ショートコード
以下を functions.php に追加。
/*---------------------------------------------------------------------------
* ライン風の吹き出しショートコード
*---------------------------------------------------------------------------*/
// 左からの吹き出し
add_shortcode( 'baloon-line-left', function( $atts, $content = null ) {
$before = '<div class="balloon"><div class="balloon-img-left">';
if( isset( $atts['img'] ) ) {
$before .= '<figure><img src="' . $atts['img'] . '" width="60" height="60" alt="';
$before .= isset( $atts['caption'] ) ? $atts['caption'] : '';
$before .= '" /></figure>';
}
if( isset( $atts['caption'] ) ) {
$before .= '<span class="balloon-img-caption">' . $atts['caption'] .'</span>';
}
$before .= '</div><div class="balloon-left-line">';
$after = '</div></div>';
return $before . $content . $after;
});
// 右からの吹き出し
add_shortcode( 'baloon-line-right', function( $atts, $content = null ) {
$before = '<div class="balloon"><div class="balloon-img-right">';
if( isset( $atts['img'] ) ) {
$before .= '<figure><img src="' . $atts['img'] . '" width="60" height="60" alt="';
$before .= isset( $atts['caption'] ) ? $atts['caption'] : '';
$before .= '" /></figure>';
}
if( isset( $atts['caption'] ) ) {
$before .= '<span class="balloon-img-caption">' . $atts['caption'] .'</span>';
}
$before .= '</div><div class="balloon-right-line">';
$after = '</div></div>';
return $before . $content . $after;
});
CSS
以下を style.css に追加。
/*------------------------------------------------------------
ライン風の吹き出し
-------------------------------------------------------------*/
.balloon {
margin-bottom: 40px;
}
.balloon figure {
width: 60px;
height: 60px;
}
.balloon-img-left {
float: left;
}
.balloon-img-right {
float: right;
}
.balloon-img-left figure {
margin: 0 auto 0 0;
}
.balloon-img-right figure {
margin: 0 0 0 auto;
}
.balloon img {
width: 100%;
height: 100%;
margin: 0;
}
.balloon-img-caption {
padding: 5px 0 0;
white-space: nowrap;
font-size: 12px;
}
div[class^="balloon-"] {
padding: 10px;
position: relative;
border-radius: 12px;
}
div[class^="balloon-img"] {
padding: 0;
text-align: center;
}
div[class^="balloon-left"] {
margin-left: 80px;
}
div[class^="balloon-right"] {
margin-right: 80px;
}
.balloon p {
margin: 0 0 20px;
}
.balloon p:last-child {
margin-bottom: 0;
}
div[class^="balloon-left-"]::before,
div[class^="balloon-right-"]::before,
div[class^="balloon-left-"]::after,
div[class^="balloon-right-"]::after {
position: absolute;
content: '';
border: 10px solid transparent;
top: 12px;
}
div[class^="balloon-left-"]::before,
div[class^="balloon-left-"]::after {
left: -20px;
}
div[class^="balloon-right-"]::before,
div[class^="balloon-right-"]::after {
right: -20px;
}
div.balloon::after, div.balloon::before {
clear: both;
content: '';
display: block;
}
/* 吹き出しの背景色 (左) */
div.balloon-left-line {
background: #e4e8eb;
}
div.balloon-left-line::before,
div.balloon-left-line::after {
border-right: 12px solid #e4e8eb;
}
/* 吹き出しの背景色 (右) */
div.balloon-right-line {
background: #bef18c;
}
div.balloon-right-line::before,
div.balloon-right-line::after {
border-left: 12px solid #bef18c;
}
使い方
WordPress の投稿・編集画面に、以下のショートコードを書く。
[baloon-line-left img="左画像URL" caption="左画像下文字“]あほですか?[/baloon-line-left]
[baloon-line-right img="右画像URL" caption="右画像下文字“]あほです (`・ω・´)b[/baloon-line-right]
↓ こうなる。
あほですか?
あほです (`・ω・´)b
画像下のキャプションが不要の場合は ↓ こう。
[baloon-line-left img="左画像URL“]あほですか?[/baloon-line-left]
[baloon-line-right img="右画像URL“]あほです (`・ω・´)b[/baloon-line-right]
あほですか?
あほです (`・ω・´)b
ディスカッション
ピンバック & トラックバック一覧
[…] 以下のサイトを参考にしました。 WordPress でライン風の吹き出しを作るショートコード(プラグインなし) […]
[…] コードはこちら WordPress でライン風の吹き出しを作るショートコード(プラグインなし) […]