WordPressで画像を使ったメニューを作成する方法いろいろ

公開日: 使い方など
Knowledge Base Wordpress 設定

画像を使ったメニュー??と言われてもピンとこないかも知れません。何より例を見てもらうのが一番ということで、例えば某テレビ局のサイト

にある
WordPressで画像を使ったメニューを作成する方法いろいろ
のようなメニュー表現(赤枠の部分)。企業サイトなどでは結構使われていますよね?

WordPressでは過去記事へのリンクをタイル状に表示する有名なものに

などがありますが、あくまでもこれは過去記事を抽出したものをアイキャッチ画像と共にきれいに表示する機能。

今回はそうではなく、特定の固定ページなどへのリンクを画像を使って作ってしまおう!というのがテーマです。

この画像メニューを作る方法(というかアイディア)は想像力を広げるといろいろなものを使って実装できるのですが、私の思いつくまま、いくつか紹介させていただきたいと思います。

・・・の前に、リンク付きの画像??という方に基本的なHTML記述方法を紹介します(基本的なものです)

<a href="リンク先のURL"><img src="画像のURL" alt="画像が表示できない場合の文字列" width="画像の幅" height="画像の高さ"  /></a>
【注意】コードをコピーして使用する前に必ずお読みください

この記事内にコードが記載されている場合、コードはそのままコピー(いわゆるコピペ)してお使いいただいても構いませんが、以下の件にご留意ください。

使用については自己責任でお願いします

コードの確認は私の管理するサイト、またはテスト環境で問題が起こらなかったものですので、お使いの環境での動作等を保証するものではありません。

万が一このコードを使用してサイトに重篤なトラブルが生じても当サイト、当サイト管理者は一切責任を負いません

コードの変換エラーなどにより動作しない場合、更新エラーが出る場合があります

コードをそのままコピーしても問題なく使えるよう文字列変換を行った上で掲載しておりますが、希に変換できていない場合があり、コードエラーとなることがあります

その場合には以下の方法で修正を行ってみてください

  1. コードの中に全角の記号が入っていませんか?
  2. 半角にすることで解消できます
  3. コードの中に全角の空白(スペース)がありませんか?
  4. 半角にすることで解決できます
  5. 上のようなことがないのに更新できない
  6. 特に日本語での文字列が入っている場合には全角での文字列があるということでエラーになる場合があります。エラーとして返される行の先頭に空白がある場合には空白をなくすことできちんと認識され更新されるようになることが多いです。

コードを転載する場合には

ご自身のサイトで当ページのコードを転載される場合には必ず当ページへのリンクを入れていただきますようお願いいたします

この中の「リンク先のURL」「画像のURL」「画像が表示できない場合の文字列」「画像の幅」「画像の高さ」を設定すればOKです。

WordPressの場合は投稿編集画面からメディアの追加で簡単に画像リンクが作成できるので、このタグを覚えなくても大丈夫です

単純に用意した画像を並べて画像メニューを作成する方法

画像リンクのタグでは画像の幅や高さは調整できるものの、よりきれいに確実に表示するためには同じサイズの画像を用意した方がいいと思います。一番単純で簡単な方法です。

テーブル要素を使う

テーブルタグ(table)は表の作成によく使われるタグですが、画像などを並べて表示する際にも重宝します。

基本的なコード体系は3列表示なら

<table width="95%">
<tr>
	<td width="33%">画像タグ1</td>
        <td width="33%">画像タグ2</td>
        <td width="33%">画像タグ3</td>
</tr>
<tr>
	<td width="33%">画像タグ4</td>
        <td width="33%">画像タグ5</td>
        <td width="33%">画像タグ6</td>
</tr>
</table>
【注意】コードをコピーして使用する前に必ずお読みください

この記事内にコードが記載されている場合、コードはそのままコピー(いわゆるコピペ)してお使いいただいても構いませんが、以下の件にご留意ください。

使用については自己責任でお願いします

コードの確認は私の管理するサイト、またはテスト環境で問題が起こらなかったものですので、お使いの環境での動作等を保証するものではありません。

万が一このコードを使用してサイトに重篤なトラブルが生じても当サイト、当サイト管理者は一切責任を負いません

コードの変換エラーなどにより動作しない場合、更新エラーが出る場合があります

コードをそのままコピーしても問題なく使えるよう文字列変換を行った上で掲載しておりますが、希に変換できていない場合があり、コードエラーとなることがあります

その場合には以下の方法で修正を行ってみてください

  1. コードの中に全角の記号が入っていませんか?
  2. 半角にすることで解消できます
  3. コードの中に全角の空白(スペース)がありませんか?
  4. 半角にすることで解決できます
  5. 上のようなことがないのに更新できない
  6. 特に日本語での文字列が入っている場合には全角での文字列があるということでエラーになる場合があります。エラーとして返される行の先頭に空白がある場合には空白をなくすことできちんと認識され更新されるようになることが多いです。

コードを転載する場合には

ご自身のサイトで当ページのコードを転載される場合には必ず当ページへのリンクを入れていただきますようお願いいたします

というように、tableタグで上下を囲み、trタグが1行分、その中にtdタグで列を作ることで表での表示になります。

更に↑の例のように本文の幅の95%でテーブルを表示しなさいそれぞれの列は33%ずつで表示しなさいとすることでサイト本文の幅からはみ出すことなく3等分された形で表示できます。

ちなみに4等分したかったら各tdを25%にしてtdの数を4つにすればいいということになりますね。

画像のサイズは3列表示なら3等分した1つの幅と同じか少し大きな画像にしておけばよりきれいに表示できます。

レスポンシブ対応させて表示する

前項のテーブルを使った方法で問題となるのは、パソコンなどの大きな画面ではきれいに表示できても画面の狭いスマホ表示の際には狭い画像がさらに3等分されてしまい、画像が小さくなってしまうこと。スマホからのアクセスが多いサイトではちょっと不便ですね。

これを解消するにはテーブルでの使用をやめdivとCSSで自動調整させる方法が一般的です。

やり方は簡単、画像タグを用意したものを列記してそれをまとまりですよ!とdivタグで囲みます

<div class="〇〇">
画像リンク1
画像リンク2
画像リンク3
</div>
【注意】コードをコピーして使用する前に必ずお読みください

この記事内にコードが記載されている場合、コードはそのままコピー(いわゆるコピペ)してお使いいただいても構いませんが、以下の件にご留意ください。

使用については自己責任でお願いします

コードの確認は私の管理するサイト、またはテスト環境で問題が起こらなかったものですので、お使いの環境での動作等を保証するものではありません。

万が一このコードを使用してサイトに重篤なトラブルが生じても当サイト、当サイト管理者は一切責任を負いません

コードの変換エラーなどにより動作しない場合、更新エラーが出る場合があります

コードをそのままコピーしても問題なく使えるよう文字列変換を行った上で掲載しておりますが、希に変換できていない場合があり、コードエラーとなることがあります

その場合には以下の方法で修正を行ってみてください

  1. コードの中に全角の記号が入っていませんか?
  2. 半角にすることで解消できます
  3. コードの中に全角の空白(スペース)がありませんか?
  4. 半角にすることで解決できます
  5. 上のようなことがないのに更新できない
  6. 特に日本語での文字列が入っている場合には全角での文字列があるということでエラーになる場合があります。エラーとして返される行の先頭に空白がある場合には空白をなくすことできちんと認識され更新されるようになることが多いです。

コードを転載する場合には

ご自身のサイトで当ページのコードを転載される場合には必ず当ページへのリンクを入れていただきますようお願いいたします

こう記述すると画像が縦に並んでしまいますから、テーマのCSSに以下を追記します

.〇〇{float:left;}
【注意】コードをコピーして使用する前に必ずお読みください

この記事内にコードが記載されている場合、コードはそのままコピー(いわゆるコピペ)してお使いいただいても構いませんが、以下の件にご留意ください。

使用については自己責任でお願いします

コードの確認は私の管理するサイト、またはテスト環境で問題が起こらなかったものですので、お使いの環境での動作等を保証するものではありません。

万が一このコードを使用してサイトに重篤なトラブルが生じても当サイト、当サイト管理者は一切責任を負いません

コードの変換エラーなどにより動作しない場合、更新エラーが出る場合があります

コードをそのままコピーしても問題なく使えるよう文字列変換を行った上で掲載しておりますが、希に変換できていない場合があり、コードエラーとなることがあります

その場合には以下の方法で修正を行ってみてください

  1. コードの中に全角の記号が入っていませんか?
  2. 半角にすることで解消できます
  3. コードの中に全角の空白(スペース)がありませんか?
  4. 半角にすることで解決できます
  5. 上のようなことがないのに更新できない
  6. 特に日本語での文字列が入っている場合には全角での文字列があるということでエラーになる場合があります。エラーとして返される行の先頭に空白がある場合には空白をなくすことできちんと認識され更新されるようになることが多いです。

コードを転載する場合には

ご自身のサイトで当ページのコードを転載される場合には必ず当ページへのリンクを入れていただきますようお願いいたします

すると・・・画像から左から右へ、本文の幅の分だけ表示されるようになります。

こうしておくとスマホ表示でも画像が右へ表示できないものは勝手に改行されて下に下に表示されるので見やすくなると思います。

ただ1つ気を付けるべきは画像の大きさ。スマホ表示でも1列になり、かつ、デスクトップ表示でもいい感じの列数になる値を調整する必要があります。パソコン表示の場合にはテーマの本文の幅、スマホ表示の場合には画面の幅に合わせる必要があるのである程度のところで折衷することになると思います。

マウスオーバー(ホーバー)時に特殊効果を与えてメニューを表示する方法

これがプラグインの特徴を知ってるかどうか?が問われるところになります。アレを使えば簡単じゃん!と思われた方はいろいろなプラグインを使ったことのある方だと思います。

何を使うか・・・それは画像ホーバー時に特殊効果を与える画像アルバム系のプラグインです。

マウスオーバー時にどう動作させたいか??というところでいろいろなプラグインの中からの選択が難しいところですが、

  1. レスポンシブ表示できる
  2. 列数の指定ができる
  3. マウスオーバー時にキャプション(画像の説明)が表示できる
  4. クリックしてどこかのページへ移動する

という要件ではImage Hover Effects CSS3というプラグインがおすすめです

※プラグインの紹介記事は作成中です。公開したらリンクを張る予定ですのでそれまでは上のリンクから公式ページをご覧ください

マウスオーバー時に音を鳴らすメニューを作る方法

というプラグインを使います。このプラグインは画像や段落などのタグに指定したidに応じて設定した音声をマウスオーバー時に流すものです。古いプラグインですが現行バージョン(4.9.6)でも動作しました。この機能を持つプラグインとしては唯一だと思われます。

これを使用して音声を流すには、前述したようにタグにidを設ける必要があります。id要素はテーブル・列・行・画像・段落などいろいろなタグに「id=〇〇」と付け加えるだけなので、前述したテーブル表示などでもtdやimgのタグ内で使えます。

※ご存知かと思いますが、id要素は同一ページ内に混在させることができませんので、今回の仕組みの場合には1画像につき1つのidを割り振る必要があります

※プラグインについての詳しい説明はリンク先ページをご覧ください。

マウスオーバー時に文字を表示する特殊効果を与え、さらに音を出すメニューを作る方法

これ究極の方法かもしれません。結構この機能をWordpressで実装するのに苦労しました。

前述した方法としてマウスオーバーしたときにリンク先の内容を説明するような音を出すというのを紹介しましたので、別にキャプションを表示しなくても内容は分かる!!と制作者は思いがちですが、音が出ないように設定されている環境ではどうなの?というところも考える必要があります。

それならマウスオーバーしたときにキャプションを表示する方法を用いつつ、音も出るようにすればより親切ではないか?という複合的な使い方を紹介します。

ちょっと複雑なので見様見真似でやってみてくださいね。

まずは画像のマウスオーバー時にエフェクト(効果)を与えます。そしてそこに音声を流すようにします。

音声を流す方法は前述した「マウスオーバー時に音を鳴らすメニューを作る方法」を参照ください。

そして画像にエフェクトを加える方法ですが、前述したImage Hover Effects CSS3は残念ながらid要素を加えることができませんので、音声も再生されなくなってしまいますので、別のプラグインを使います。

探せば他にもあると思われますが、今回は「Image Caption Hover」というプラグインを使用します。このプラグインは機能としてはImage Hover Effects CSS3よりもエフェクトの種類が少ないものの、機能としては十分だと思います。

で実装方法ですが・・・

Image Caption Hoverでは1つの画像ギャラリーに対して1つのidが付与されます(画像ごとではないです)。したがって、メニュー分だけ画像1枚だけのギャラリーを作成します。

そしてtable要素の中にギャラリーのショートコードを挿入すると、id付きで、かつホーバーエフェクト付きの画像が表示されるようになります。

そこに「マウスオーバー時に音を鳴らすメニューを作る方法」で紹介した方法を加えると・・・画像にマウスオーバーしたときにはImage Caption Hoverでキャプション情報が表示され、かつ、Hover Soundで音声が流れるという仕組みが完成します。


いかがでしたか?以上が今回のテーマ「Wordpressで画像を使ったメニューを作成する方法いろいろ」のすべてです。工夫すればもっと簡単にもっと便利にという方法があるかも知れませんが、固定ページなどに画像を使ったメニューを作りたい!!と思っている方の参考になれば幸いです。

Wordpressの本

Amazonの人気商品楽天市場の人気商品
CS Shop
たった1日で基本が身に付く! WordPress 超入門【電子書籍】[ 佐々木恵 ]

たった1日で基本が身に付く! WordPress 超入門【電子書籍】[ 佐々木恵 ]

1,944 円 (税込) 送料込
<p>WordPressによるWebサイト作成の基本を一から学べる書籍です。1日8時間の勤務時間内に読むことができる程度に解説内容を絞り込み,初心者・新人が最初の1冊目として読むのにふさわしい内容となっています。本書ではローカル環境にWordPressをインストールしてWebサイト..
サイトの拡張性を飛躍的に高める WordPressプラグイン開発のバイブル【電子書籍】[ 宮内 隆行 ]

サイトの拡張性を飛躍的に高める WordPressプラグイン開発のバイブル【電子書籍】[ 宮内 隆行 ]

3,456 円 (税込) 送料込
<p>プラグインの開発から運用までを網羅</p> <p>※この電子書籍は固定レイアウト型で配信されております。固定レイアウト型は文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。</p> <p>CMSのデファクト・スタン..
楽天ウェブサービスセンター CS Shop

いつでもご相談・サイトカスタマイズの依頼を受け付けています

Wordpressのカスタマイズ、不具合解消のご相談はすべてココナラのダイレクトメッセージからお受けしております。まずはこちらのバナーからお気軽にお問い合わせください。

※一度もココナラを使ったことがない方はココナラへの無料登録が必要です。こちらから登録後、上のリンクをクリックする、またはココナラトップページから「ひまあーと」を検索してお問い合わせください。


【スポンサーリンク】


記事の拡散にご協力をお願いします

閲覧いただきありがとうございました。役に立つ情報でしたら是非SNSでシェアをお願いします

関連情報