画像をかっこよく表示しれくれるFancybox for WordPressですが、1点困ったことがありました。
Fancybox for WordPressの設定には、画像を開いたときに、タイトルを付けられるオプションがあります。
「設定」→「Fancybox for WP」のAppearanceタブで、Show tht titleをチェックすれば…あれ?
そう、上記の設定がONになっても、タイトルが表示されないんです。
「プラグイン」→「インストール済みのプラグイン」でFancybox for WordPressのとこのろ編集をクリックすればソースが見れるので、それらしいとこを探してみると発見。
以下がその部分のソース。
jQuery.fn.getTitle = function() { // Copy the title of every IMG tag and add it to its parent A so that fancybox can show titles var arr = jQuery("a.fancybox"); jQuery.each(arr, function() { var title = jQuery(this).children("img").attr("title"); jQuery(this).attr('title',title); }) }
つまりは、imgタグのtitleに設定されたテキストを表示するようになっているのですが、WordPressでは、imgタグにtitle設定はデフォルトではできません。
なので、一行、プログラムを追加(赤字部分)。
jQuery.fn.getTitle = function() { // Copy the title of every IMG tag and add it to its parent A so that fancybox can show titles var arr = jQuery("a.fancybox"); jQuery.each(arr, function() { var title = jQuery(this).children("img").attr("title"); /* Modified by Ken Ta 20140912 **************** */ if (!title) { title = jQuery(this).children("img").attr("alt"); } jQuery(this).attr('title',title); }) }
つまり、titleに値がなければimgタグのaltの値をtitleに設定する。
これで無事にaltに設定されたタイトルが表示されるようになりました!