皆さま引き続きコロナには気をつけてお過ごしください!

【WordPress】プラグインなしで吹き出しにアレンジを加えてみた

アイキャッチ吹き出し WordPress


以前、ナコさんのブログを参考に、

吹き出しを入れられるようにしてみました✨

 

ナコさんのおかげで、吹き出しのバリエーションが増え、

少しこのブログの色を付けられたと思います✨

 

にゃこ
もっとバリエーション増やせないかなぁ?

と思ったので、

追加してみました★

その方法を記載したいと思います★

 

スポンサーリンク

オリジナルのバリエーション

なこさんのサイトでは、以下6種類のアニメーション付き吹き出しが用意されています。
※あえて猫画像は同じものを使っています。

にゃこ
①汗バージョン

にゃこ
②UPバージョン
にゃこ
③怒りバージョン
にゃこ
④好きバージョン
にゃこ
⑤ガーンバージョン
にゃこ
⑥ショックバージョン

 

アニメーションなしバージョンは、animetionの設定値を””(何もなし)にすることで作ることができます。

にゃこ
アニメーションなしバージョン

 

猫画像部分を変更すれば、バリエーションは無限に広がりますね。ありがたや~~✨

怒りや好きなどの感情を表すアニメーション部分を増やせば、もっといろんな感情を表現することができます。

今回はこの部分を自作して、アレンジしてみたいと思います。

 

スポンサーリンク

何を変更・追加すればいいの?

 

上記の記事をご覧になりながら作られた方はお気づきかと思いますが、

バリエーションを増やすには、以下の変更・追加が必要となります。

  1. アニメーション用画像
  2. functions.php
  3. style.css

 

順番に作り方・編集の仕方を確認したいと思います。

 

スポンサーリンク

アニメーション用画像ファイル/SVGファイルって?

なこさんの作成方法を真似て、SVGファイルを作成したいと思います。

 

にゃこ
SVGって何?

ふくろう先生
SVGは、「Scalable Vector Graphics」です。

ふくろう先生
SVGは、XML (Extensible Markup Language) で書かれており、SVG 自身に回転・拡大・移動などの表現が定義されているため、JavaScriptなどで動かすためのコーディングをしなくてもいい便利なファイル種類なんです。

 

SVGファイルを作るには、Inkscapeなど、SVGファイルを取り扱うことができる画像編集ソフトが必要となります。

 

スポンサーリンク

画像ファイルを作ってアップロードしよう

前回、画像編集ソフトの「Inkscape」をご紹介しました。

今回は、前回作った以下ファイルを使って、アニメーションを作っていきたいと思います。

みなさんも、なにか1つ作ってみてください。

 

それでは、作った画像をWordPressで使えるように、サーバ上にアップロードしましょう。

 

画像ファイルのアップロード手順

①SCPにログインする。

②以下フォルダを開く
※前回アップロードした、なこさんのアニメーション画像が入ったiconフォルダ

WordPressディレクトリ/wp-content/themes/<利用しているテーマ>/icon

③iconフォルダに作った画像ファイルをアップロードする。
※winSCPではドラッグ&ドロップでアップロードできます。

 

スポンサーリンク

自作吹き出しの設定しよう①(functions.php)

吹き出しの追加設定をしたいと思います。

まずは、バックアップを取ってから、設定をしていきましょう。

 

今回は、前回吹き出しの設定をしたSnippetを編集します。

まだ作成されていない方は、以下記事を参照して、作ってみてください。

 

Snippetの編集手順

①左ペインからSnippets>All Snippetsを選択する。

AllSnippets

②一覧から前回作成したSnippetを選択し、クリックする。

有効化

③「//クイックタグの追加」の中の、</script>の前に以下のようなコードを追加する。

追加コード

お使いの環境に合わせて、適宜変更してください。

項目 内容
‘anime_note’ クイックタグにつける英語名称
‘ふきだし(音符)’ クイックタグにつける名称。
投稿編集画面のテキストタブに表示されるボタン名。
position=”left” クイックタグボタンを押したときに、
投稿編集画面に表示されるデフォルトの表示位置。left/right
name=”名前” クイックタグボタンを押したときに、
投稿編集画面に表示される画像下につけるデフォルトの名前。
text=”本文” クイックタグボタンを押したときに、
投稿編集画面に表示されるデフォルトの本文。
img=”icon/img_note.png” クイックタグボタンを押したときに、
投稿編集画面に表示されるデフォルトの画像の場所。
animetion=”icon_note” クイックタグボタンを押したときに、
投稿編集画面に表示されるアニメーション種類。
この名称をCSSファイルに追加し、色や動きなどを定義する。
CSSのみでアニメーションさせることができるようにするためのプロパティ。

④「Save changes」をクリックする。

 

スポンサーリンク

コードの意味を確認しておこう①(functions.php)

定義する内容については、上記に記載しましたが、

ではそもそも、「animation」とは何なのでしょうか?

 

「animation」はCSSのみでアニメーションさせることができるようにするためのプロパティと紹介しました。

アニメーションさせる方法には他にtransitionという方法あります。

 

animationとtransitionには次のような違いがあります。

animation transition
  • ループ再生可能
  • 詳細な設定が可能
  • 自動再生が可能
  • ループ再生不可
  • 自動再生不可(hoverなどのきっかけが必要)

 

今回は、繰返し、自動的に画像が動くようにするため、animationを利用しています。

 

スポンサーリンク

自作吹き出しの設定しよう②(style.css)

CSSの編集手順

※ここでは、前回作成したSimple Custom CSS and JSプラグインで作成したCSSを編集します。

①Simple Custom CSS and JSプラグインで、「コードの一覧」をクリックする。

CSS一覧

②前回作成したCSSをクリックして開く。

③CSSの最後に、以下のようなコードを追加する。

/*//// 音符 /////*/
@-webkit-keyframes icon_note {
  50% {
-webkit-transform: rotate(15deg);
transform: rotate(15deg);
  }
}
@keyframes icon_note {
  50% {
  -webkit-transform: rotate(15deg);
transform: rotate(15deg);
  }
}


.icon_note .balloon__left .balloon__text {
  background-color: #FFABCE;
}


.icon_note .balloon__left .balloon__text::after {
  border-right: 15px solid #FFABCE;
}


.icon_note .icon_emotion {
  background: url("http://<ドメイン名>/wp-content/themes/<利用中のテーマ>/icon/icon_note.svg") repeat-x 0 0;
  -webkit-animation: icon_note 1s ease-in-out infinite alternate;
  animation: icon_note 1s ease-in-out infinite alternate;
}

 

④「更新」ボタンをクリックする。

 

スポンサーリンク

コードの意味を確認しておこう②(style.css)

上述の通り、CSSだけでアニメーションさせられるよう、

「animation」というプロパティを利用しています。

その設定をCSSで行います。

 

  • @-webkit-keyframes icon_note {
  •  ~~~
  • }

 

項目 内容
@-webkit- ベンダープレフィックス。
ブラウザーのベンダーがCSS3の拡張機能を実装するのに使用する識別子。
最近のブラウザでは、よく使われるCSS3のプロパティが実装可能なため、この識別子は不要の場合が増えている。
<参考>

プレフィックス 対応ブラウザ
-webkit- Google Chrome、Safari
-moz- Mozilla Firefox
-keyframes アニメーションの変化を指定する
icon_note クイックタグで設定したanimationの引数。
定義したアニメーションを区別するためのクラス名。

 

icon_noteという名前のanimationに対し、

Google Chrome、Safariからアクセスがあった場合の動きを定義しています。

 

  •  50% {
  •   -webkit-transform: rotate(15deg);
    transform: rotate(15deg);
  •   }

アニメーションの定義内容です。

 

50%はアニメーションの中盤を意味します。

0% はアニメーション開始時、

100% はアニメーション終了時を表しています。

アニメーションの途中で、オブジェクトを15度傾けています。

 

項目 内容
transform 移動、回転、伸縮、傾斜の4種類の変形をさせるためのプロパティ
rotate transformのうちの1つの関数。
オブジェクトを回転させる。

その他、3つの関数についてもご紹介しておきます。

項目 内容
translate オブジェクトを移動させる
scale オブジェクトを伸縮させる。
skew オブジェクトを傾斜させる。

 

  • .icon_note .balloon__left .balloon__text {
  •   background-color: #FFABCE;
  • }

icon_noteという名前のanimationの左寄せ吹き出し、本文に対し、

背景色を指定しています。

\

  • .icon_note .balloon__left .balloon__text::after {
  •   border-right: 15px solid #FFABCE;
  • }

画像が話しているように見せるため、本文が入る左側に三角マークを付けています。

その右側の境界線の幅スタイル色をまとめて指定しています。

上述の色と同じにすることで、一つのオブジェクトのように見せることができます。

 

  • .icon_note .icon_emotion {
  •   ~~~
  • }

function.phpに追記したコード内で、<span>タグを使っており、

このクラス名がicon_emotionです。

 

  •   background: url(“http://<ドメイン名>/wp-content/themes/<利用中のテーマ>/icon/icon_note.svg”) repeat-x 0 0;

背景画像をURLで呼び出しています。

repeat-xで、水平方向に繰返しますが、

「0 0」の指定により、繰返しの場所が、ずれることなく同じ場所に表示されます。

 

  •   -webkit-animation: icon_note 1s ease-in-out infinite alternate;
  •   animation: icon_note 1s ease-in-out infinite alternate;

表示のさせ方を指定しています。

項目 内容
①1s 1秒ごとに表示させる
②ease-in-out アニメーションが継続している際に、 アニメーションの速度を指定。
ease-in-outは、ゆっくり始まってゆっくり終わる。
③infinite 回数・ループ指定。
infiniteは、無限に繰返す。
初期値は「1」で繰返しなし。
④alternate 再生方向の指定。
alternateは、通常方向、逆方向のアニメーションを交互に繰り返す。

 

②の速度指定には他に以下があります。

項目 内容
ease ゆっくり始まって、ゆっくり終わる(初期値)
ease-in ゆっくり始まる
ease-out ゆっくり終わる
ease-in-out ゆっくり始まってゆっくり終わる
linear 一定の速度で始まって終わる
step-start 開始時に最終の状態になる
step-end 終了時に最終の状態になる
steps(n , flag) nの回数だけコマ送りする。
flagが「start」の場合、開始直後に1段階目の変化が発生し、
「end」の場合、最初のインターバル経過後に1段階目の変化が発生する。
cubic-bezier(x1, y1, x2, y2) 変化の度合いを任意で指定する。
[0.0 , 0.0] から始まり、[x1 , y1], [x2 , y2] を経由し、
最終的に[1.0 , 1.0]に変化。
X軸は時間経過率、Y軸は変化率を表す。

 

④の方向指定には以下があります。

項目 内容
normal 通常方向を実行する(初期値)
alternate 通常方向、逆方向のアニメーションを交互に繰り返す
reverse 毎回逆方向を実行する
alternate-reverse 通常方向、逆方向のアニメーションを交互に繰り返す
(逆再生から始まる)

 

スポンサーリンク

確認してみよう

では、WordPressの投稿画面で、追加したクイックタグを押してください。

追加タグ

 

投稿編集画面に表示された項目の名前や画像を変更し、

プレビューしてみてください。

 

にゃこ
できた!!

 

できましたか?

できた方!おめでとうございます!!

 

スポンサーリンク

うまく表示されなかったときは…

表示されなかった場合は、画面を右クリック>検証をクリックしてください。

画面右側に、下のような項目が表示されるので、

左上の赤枠部分をクリックします。

確認方法1

 

position=”left”を設定していた場合、

追加した吹き出しの画像右上にアニメーションが表示されるのですが、

この辺りでマウスオーバーさせると、要素は右にゆだりに揺れていますか?

確認2

 

その部分をクリックしてみてください。

①がアニメーションを表示されているタグ、

②が背景画像として設定している画像のURLです。

リンク先

 

 

クイックタグで入力したanimetionの設定が正しいか確認してください。
URLをコピーし、ブラウザで開いて、正しく表示されるか確認してください。
表示されなかった場合は、設定したURLが正しいか確認してください。
画像のサイズとアニメーション設定サイズが異なっており、画像の一部(空白部分など)しか表示されていない可能性があります。
Inkscapeを開き、ファイル>ドキュメントのプロパティを開いてください。
下部カスタムサイズの幅・高さが100、単位がpxになっているかを確認します。
ドキュメントのプロパティ

 

 

にゃこ
今回、私は3つ目で、どはまりしました💦

 

他の理由で表示されていない可能性もあります。

1つ1つ検証してみてください。

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