コピペで吹き出し、アイコン付きの吹き出しをショートコードで作ってみた
色々なブログやサイトを見ていると吹き出しを使って会話しているように見せてるページがあります。
やりたいと思っても、自分が使ってるテーマにはそんな機能付いてない。
そんな方々のために、アイコン付きで表示できる吹き出しをコピペで使えるショートコードを作りました。

目次
ショートコードを使えるようにfunctions.phpにコピペする
下記のコードをコピーしてfunctions.phpに貼り付けます。
PHP
- function fedw_balloon_area( $atts, $content = null) {
- extract(shortcode_atts(array(
- 'position' => 'l', 'url' => '', 'type' => 'basic', 'name' => ''
- ), $atts));
- return '
- <div class="fedw-balloonArea fedw-balloonArea--'.$position.' fedw-balloonArea--type-'.$type.'">
- <div class="fedw-balloonArea__icon">
- <img class="fedw-balloonArea__icon__img" src="'.$url.'" width="60" height="60">
- <div class="fedw-balloonArea__icon__name"> '.$name.' </div>
- </div>
- <div class="fedw-balloonArea__balloon">
- <div class="fedw-balloonArea__balloonInner"> '.$content.' </div>
- </div>
- </div>';
- }
- add_shortcode('the_balloon', 'fedw_balloon_area');
functions.phpに貼り付ける前にバックアップをとりましょう。
CSSをstyle.cssにコピペする
下記CSSをstyle.cssに貼り付けます。
CSS
- /* #edw-balloonArea */
- .fedw-balloonArea {
- display: -webkit-flex;
- display: flex;
- -wkit-align-items: flex-start;
- align-items: flex-start;
- }
- .fedw-balloonArea.fedw-balloonArea--r {
- -webkit-flex-direction: row-reverse;
- flex-direction: row-reverse;
- }
- .fedw-balloonArea__icon {
- width: 80px;
- box-sizing: border-box;
- padding: 0 5px;
- }
- .fedw-balloonArea__icon__img {
- width: 60px;
- border-radius: 50%;
- border: 5px solid;
- background-color: #f5f5f5;
- }
- .fedw-balloonArea__icon__name {
- text-align: center;
- }
- .fedw-balloonArea__balloon {
- width: calc(100% - 80px);
- box-sizing: border-box;
- padding: 10px;
- }
- .fedw-balloonArea__balloonInner {
- border-radius: 10px;
- padding: 1em;
- position: relative;
- }
- .fedw-balloonArea__balloonInner::after {
- content: '';
- display: block;
- position: absolute;
- top: 1em;
- border-top: 10px solid transparent;
- border-bottom: 10px solid transparent;
- }
- .fedw-balloonArea--r .fedw-balloonArea__balloonInner::after { right: -10px;}
- .fedw-balloonArea--l .fedw-balloonArea__balloonInner::after { left: -10px;}
- /* type別スタイル */
- /* basic */
- .fedw-balloonArea--type-basic .fedw-balloonArea__icon__img {
- border-color: #ccc; /* 画像の枠色 */
- }
- .fedw-balloonArea--type-basic .fedw-balloonArea__balloonInner {
- background-color: #ddd; /* 吹き出し背景色 */
- color: #555; /* 吹き出し文字色 */
- }
- .fedw-balloonArea--type-basic.fedw-balloonArea--r .fedw-balloonArea__balloonInner::after {
- border-left: 10px solid #ddd; /* 吹き出し背景色(アイコン右矢印) */
- }
- .fedw-balloonArea--type-basic.fedw-balloonArea--l .fedw-balloonArea__balloonInner::after {
- border-right: 10px solid #ddd; /* 吹き出し背景色(アイコン左矢印) */
- }
- /* red */
- .fedw-balloonArea--type-red .fedw-balloonArea__icon__img {
- border-color: red; /* 画像の枠色 */
- }
- .fedw-balloonArea--type-red .fedw-balloonArea__balloonInner {
- background-color: red; /* 吹き出し背景色 */
- color: #fff; /* 吹き出し文字色 */
- }
- .fedw-balloonArea--type-red.fedw-balloonArea--r .fedw-balloonArea__balloonInner::after {
- border-left: 10px solid red; /* 吹き出し背景色(アイコン右矢印) */
- }
- .fedw-balloonArea--type-red.fedw-balloonArea--l .fedw-balloonArea__balloonInner::after {
- border-right: 10px solid red; /* 吹き出し背景色(アイコン左矢印) */
- }
クイックタグにショートコードを追加する
下記のコードをコピーしてfunctions.phpに貼り付けます。
PHP
- //クイックタグ追加
- function fedw_add_quicktag(){
- ?>
- <script>
- QTags.addButton('the_balloon','the_balloon','[the_balloon position="l" type="basic" name="[表示名]" url="[アイコン画像url]"][/the_balloon]','');
- </script>
- <?php
- }
- add_action('admin_print_footer_scripts','fedw_add_quicktag');
CSSを編集する
ショートコード内のtypeごとにCSSを作成することで何パターンも用意することができます。
青色の部分を作成するtype名に置き換える
オレンジの部分を任意のカラーコードに変更する
CSS
- /* basic */
- .fedw-balloonArea--type-basic .fedw-balloonArea__icon__img {
- border-color: #ccc; /* 画像の枠色 */
- }
- .fedw-balloonArea--type-basic .fedw-balloonArea__balloonInner {
- background-color: #ddd; /* 吹き出し背景色 */
- color: #555; /* 吹き出し文字色 */
- }
- .fedw-balloonArea--type-basic.fedw-balloonArea--r .fedw-balloonArea__balloonInner::after {
- border-left: 10px solid #ddd; /* 吹き出し背景色(アイコン右矢印) */
- }
- .fedw-balloonArea--type-basic.fedw-balloonArea--l .fedw-balloonArea__balloonInner::after {
- border-right: 10px solid #ddd; /* 吹き出し背景色(アイコン左矢印) */
- }
まとめ
すべての手順が完了したら、投稿編集画面(テキスト)より「the_balloon」のボタンを押すことでショートコードを呼び出せます。
呼び出したら
position="l or r"
type="basic or red or CSSで用意したタイプ名"
name="表示したい名前"
url="アイコン画像のurl"
それぞれを編集して使用してください。

コメント一覧
まだ、コメントがありません