Alt属性値を画像ホバー時にキャプションとして表示させるWordPressカスタマイズ方法

サイバーマンデー
Amazonプライム会員限定の大セール「サイバーマンデー」開催中!プライム会員限定の大セール

僕は記事に画像を挿入する際は毎回「代替テキスト(Alt属性値)」を入力しています。

これは、画像の説明となる「代替テキスト」を入力し、画像内容を検索エンジンに正確に伝えることによって、多少なりともSEO的な効果があるのではないかと思ってのことです。実際どのくらい効果があるのかは、わからないのですけど。

それはさておき僕は、毎回Alt属性値を入力するたびに常々こう思っていました。「(ほぼ)検索エンジンに向けてAltを入力するのはもったいないなぁ。何か入力したテキストを有効利用できないもんか。」と。

で、先日ネットで紹介されていたエフェクトを見たときに、「これだ!」と思い、「Altを利用しキャプションを表示するホバーエフェクトの実装方法」を思いついたので紹介です。

スポンサーリンク
レクタングル(大)広告

今回のカスタマイズをすると

今回紹介するカスタマイズを行うと、Wordpress記事作成時にAlt属性とともに画像を挿入すると、Alt属性値がキャプションとなって以下のように表示されます。

入力したAlt属性値が画像のキャプションとなって、アニメーションとともに表示されます。
入力したAlt属性値が画像のキャプションとなって、アニメーションとともに表示されます。

PCで画像の上にマウスを乗せてみてください。

WordPressテーマのカスタマイズ方法

カスタマイズに必要な主な手順は以下です。

  1. エフェクト用のスタイルシートを書く(コピペ)
  2. imgをエフェクト用ラッパーで囲む処理を書く(コピペ)

単に、Wordpressテーマ(子テーマ)に2回コピペするだけなので、かなり簡単にできるカスタマイズになっていると思います。

エフェクト用のスタイルシートを書く

まずは、マウスホバー時にキャプションをアニメーション表示するスタイルシートを記入します。

テーマ(子テーマ)のstyle.cssに以下のように追記してください。

エフェクトのスタイルシートは、以下のコードを参考にさせていただきました。

参考 Simple Tile Hover Effect

上記の方法では、キャプションとなるテキストをspanタグを用いて、手入力する必要がありました。けれど、今回はPHPを利用して、「本文内にimgがあったら自動でタグを挿入する」ようにしたいと思います。

PHP側で、このように自動処理させることで、これまで書いてきた過去記事のIMGタグは変更する必要がなく、Alt属性値を勝手に利用し表示してくれます。

imgをエフェクト用ラッパーで囲む処理を書く

で、上記のスタイルを適用させるには、functions.phpに「本文中にimgが出てきたら、適切にエフェクト用のラッパーでくるむ処理」を書く必要があります。

その処理が以下。こちらを、functions.phpにコピペで追記します。

これは、本文を表示する前に、「通常の画像タグ」を、「エフェクト用のタグ」でくるむよう正規表現を使って置換処理をしています。

利用方法

あとは、記事編集で画像を挿入するとき「代替テキスト(Alt属性値)」を入力して投稿に挿入すればOKです。

ソースはこんな感じです。

記事編集時に「代替テキスト(Alt属性値)」を入力して投稿に挿入する
記事編集時に「代替テキスト(Alt属性値)」を入力して投稿に挿入する

画像へのリンクが入っていても大丈夫です。

ただし、Alt属性値が設定されていないとホバーエフェクトは表示されません。

なので、「代替テキスト(Alt属性値)」を設定していない、アイキャッチ画像などは、通常通りエフェクトなしで表示させることもできます。

まとめ

今回、SEO以外でもAlt属性値を有効活用すべく、Wordpressテーマのカスタマイズ方法考えてみました。

Alt属性値は、1度入力してしまうと、確認が面倒くさいため誤字脱字に気づきにくいのです。けれど、今回のようなエフェクトで手軽に表示できるようにすると、入力内容の確認が容易にもなるかと思います。

もちろん、今回のカスタマイズをしてもスマホでは表示されません。

けれど、PCで見ている人が「このサイトは画像1つ1つに説明が入っているなんて手間がかかっているなぁ。これだけちゃんと作ってあるとこの情報なら信頼できるかも。」なんてことを少しでも思ってくれたら、めっけもんだと思います。