今回は、WordPressのトップページにアクセスした時の読み込み画面のアニメーションを実装する方法をご紹介していきます。
サイトが表示されるまでにローディング画面が実装されていると自然と表示されるまで待ってしまいますよね。
ローディングアニメーションのメリットとしては、待機時間のストレスを軽減してくれる効果が見込めるのでUX向上に繋がります。また、ローディングでサイトを印象付けることで、よりユーザーの心を引きつけることができるのも大きなメリットです!
今回はシンプルな円がぐるぐる回るアニメーションを実装していきます。
さっそく実装方法をみていきましょう!
※念の為にバックアップは必ずとっておいてくださいね!
ローディングアニメーション実装手順
ローディングアニメーションを実装する手順はざっくり下記の3つの手順となっています。
1.header.phpを子テーマに追加
2.header.phpにコードを追加
3.styles.cssにコードを追加
各手順を解説していきます。
header.phpを子テーマに追加
親テーマ内の「header.php」を複製して、子テーマに格納します。
※ファイルの場所は、下記の手順の場所にあります。
public_html>サイト名>wp-content>themes>テーマ
なぜ子テーマに複製するかというと、使用しているテーマのアップデートが行われると、せっかく実装したコードが上書きされて消えてしまうからです…
子テーマに複製してしまえば、影響を受けず、子テーマのheader.phpが優先されて読み込まれるようになります。
header.phpにコードを追加
子テーマに格納した「header.php」の「body」タグの直後にコードを追加します。
下記コードを画像の赤枠部分にコピペします。
<!--ローディングアニメーション-->
<?php if ( is_home() || is_front_page() ) : ?>
<div id="loader_wrap">
<div class="loader">
<div class="loader-rotate"></div>
</div>
</div>
<script>
var flg = null;
var check_access = function () {
// sessionStorageの値を判定
if (sessionStorage.getItem('access_flg')) {
// 2回目以降
flg = 1;
} else {
// 1回目
sessionStorage.setItem('access_flg', true);
flg = 0
}
return flg;
}
var $i = check_access();
const loader = document.getElementById("loader_wrap");
if($i == 0){
// 1回目アクセスの処理
// 3秒後にopacityを「0」にする
setTimeout(() => {
loader.style.opacity = 0;
}, 3000);
// アニメーション終了後に要素を取り除く
loader.addEventListener("transitionend", () => {
loader.remove();
});
}else{
// 2回目アクセスの処理
// 読み込ませないようにすぐ要素を取り除く
loader.remove("loader_wrap");
}
</script>
<?php endif; ?>
<!--ローディングアニメーション-->
※子テーマにコードを追加することをお忘れなく…
styles.cssにコードを追加
子テーマの「styles.css」にコードを追加していきます。
下記コードをコピペします。
/* 全体 */
#loader_wrap {
z-index: 999;
position: fixed;
display: flex;
align-items: center;
justify-content: center;
width: 100vw;
height: 100vh;
top: 0;
background: #fff;
pointer-events: none;
transition: all 0.4s;
}
/* ぐるぐる */
.loader-rotate {
width: 40px;
height: 40px;
margin: 0 auto;
border-radius: 50%;
border: solid 4px;
border-color: #4c6d70 #00000010 #00000010;
position: relative;
animation: spin 1s infinite linear;
}
以上で実装完了です!
お疲れ様でした!
これでトップページにアクセスしてみるとローディングアニメーションが表示されます!
なお、今回の実装ではリロードごとにローディングアニメーションの表示はしないように設定しています。
まとめ
今回はWordPressでローディングアニメーションを実装する方法についてご紹介していきました!
コピペで簡単に実装できるのでぜひ活用してみてください!
以上、「コピペでOK!WordPressでローディングアニメーションを実装する方法」でした。
最後まで読んでいただきありがとうございました。
株式会社TORATはクリエイティブから様々な業務まで
TORATを一緒に盛り上げて頂けるメンバ―を募集しております!
▽採用情報の詳細ついてはこちらから▽
https://www.torat.jp/recruit/