【Arkhe】固定フッターメニューの作り方

スマホのフッターに出てくるメニューを作りたい!

スマホで、フッター部分にメニューが表示されるとユーザーのクリックを誘発できますよね。

今回は、Wordpressテーマ「Arkhe(アルケー)」で、スマホの固定フッターメニューを作る方法をご紹介します。

流れとしては、①表示メニューを作成 → ②ウィジットで表示させる → ③CSS・JSの追加 となります。

それでは詳しく見ていきましょう。

目次

①表示メニューを作成

STEP

再利用ブロックを新規作成

まずは、表示したいメニューを「再利用ブロック」にて作成します。

「再利用ブロック」は、Wordpress管理画面のメニューから選択できます。「新規パターンを追加」をクリックし、ブロックを作成しましょう。

STEP

リッチカラムでメニューを作成

リッチカラムを用い、3列のアイコン+文字のセットを作りましょう。(もちろん2列や4列でも作成可能です。)

アイコンは画像を別で作成し、アップロードするのがよいでしょう。今回は、アイコンの幅は25pxに設定しています。

このとき、「アイコン」「文字」それぞれの「ブロック上の余白」を【0】に設定しておいてください。

画像に alt 属性が指定されていません。ファイル名: image-2.png
STEP

リンクを設置

各カラムを選択した状態で、リンク設定が可能です。それぞれのリンク先を設定してください。

リンクは、必ずカラムに設置してください。

画像やテキストのみに設置しないように気を付けましょう。

STEP

CSSクラスを設定

リッチカラムを選択した状態で、追加CSSクラスを設定しましょう。

追加CSSクラスは、ブロックの「高度な設定」下部にあります。

今回は、「fixed-menu」を追加しています。スマホのみに表示したいので、「u-only-sp」も追加しましょう。

そのままコピペOK!

fixed-menu u-only-sp

以上で、表示用のメニューの作成は完了です。

続いて、作ったメニューが表示されるようにしましょう。

②ウィジットで表示されるようにする

再利用ブロックで作ったメニューが、ページに表示されるようにしていきましょう。

STEP
ショートコードをコピー

さきほど作成した再利用ブロックのショートコードをコピーします。

ショートコードはダッシュボードに戻ると、対象ブロックの右側に表示されているのでコピーしてください。

STEP
ウィジットに貼り付け

続いて、コピーしたショートコードをウィジットに貼り付けていきます。

ウィジットへは、「外観」→「ウィジット」から移動します。

すべてのページに表示されるようにしたいので、「フッター前」ショートコードブロックを追加し、先ほどコピーしたショートコードを貼り付けましょう。

STEP
表示確認

この状態で、スマホページにブロックが表示されているか確認しましょう。

※現時点では、CSS等を追加していないので、画面下部には固定されていません。

続いて、CSSやJSを追加し、表示を変えていきましょう。

③CSS・JSコードの追加

追加するCSSとJSコードは下記になります。

追加CSSコード

フォントサイズや背景色はお好みで変更してください。

そのままコピペOK!

/* 固定フッターメニューのスタイル */
.fixed-menu {
  position: fixed; /* 画面の特定位置に固定 */
  bottom: 0; /* 画面の下端に配置 */
  left: 0; /* 左端に配置 */
  width: 100%; /* 横幅を画面全体に広げる */
  z-index: 1000; /* 他の要素よりも上に表示 */
  background-color: #fdfdfd; /* 背景色 */
  box-shadow: 0 -1px 5px rgba(0, 0, 0, 0.1); /* 上方向に薄い影を追加 */
  text-align: center; /* メニュー内のコンテンツを中央揃えに */
  transform: translateY(100%); /* 初期状態でメニューを隠す */
  transition: transform 0.3s ease; /* メニューが表示・非表示になるときのアニメーション効果 */
}

/* メニューが表示される状態のスタイル */
.fixed-menu.visible {
  transform: translateY(0); /* メニューを画面内に表示 */
}

/* メニュー内の画像のスタイル */
.fixed-menu img {
  display: inline-block; /* 他の要素と一緒に横並びに配置可能 */
  vertical-align: middle; /* 垂直方向の位置を中央 */
}

/* メニュー内のテキストのスタイル */
.fixed-menu p {
  font-size: 0.9rem; /* フォントサイズを設定 */
  margin: 0; /* 上下左右の余白をなしに設定 */
}

追加JSコード

そのままコピペOK!

<script>
document.addEventListener('DOMContentLoaded', () => {
  // ページの読み込みが完了したら実行
  const fixedBlock = document.querySelector('.fixed-menu'); // 固定メニュー要素を取得
  if (!fixedBlock) return; // 要素が存在しない場合は処理を中断

  let hasScrolled = false; // ユーザーがスクロールしたかどうかを管理するフラグ

  // スクロール時にメニューを表示する処理
  const handleScroll = () => {
    if (window.scrollY > 0 && !hasScrolled) {
      // ページがスクロールされており、かつ初回のスクロールである場合
      hasScrolled = true; // フラグをtrueに設定
      fixedBlock.classList.add('visible'); // メニューを表示するクラスを追加
    }
  };

  // スクロールイベントにデバウンスを適用(処理の頻度を抑える)
  let timeout; // タイマーIDを保持する変数
  window.addEventListener('scroll', () => {
    if (timeout) clearTimeout(timeout); // 前回のタイマーをクリア
    timeout = setTimeout(handleScroll, 100); // 100ms後にhandleScrollを実行
  });
});
</script>

JSコードは、「Arkhe Toolkit」の「コード追加」ページで『</body>タグ終了前に出力するコード』に貼り付けましょう。

動作確認

それでは動作を確認しましょう。

画面をスクロールすると、メニューが表示されているはずです。

表示されていない場合は、CSSかJSに問題がある場合が多いので、再度確認してみてください。

まとめ

今回は、WordpressテーマArkhe(アルケー)でスマホ固定フッターメニューを作成する方法を紹介させていただきました!

別のテーマでも少し仕様を変えれば対応可能ですので、ぜひ参考にしてください。

~最後までお読みいただき、ありがとうございました!~

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次