モリパパ moripapa

WordPressから、徒然なるままに…

速習デザイン WodPress 3.xで勉強してます

f:id:maury4:20120625174413j:image:leftやっぱり本で勉強したほうが早道とばかりに、モリパパは「速習デザイン WodPress 3.x」という本を買って勉強しています。
WordPressを始めたとき(4月)は、Ver3.2だったんですが、6月15日にVer3.4がリリースされました。大した違いはないと思って気軽にVer3.4をインストールしたところ、次のようなNotceが出てしまいました。

「Notice: add_custom_image_header の使用はバージョン 3.4 から非推奨になっています! 代わりに add_theme_support('custom-header', $args ) を使ってください。 in C:\xampp\htdocs\wordpress\wp-includes\functions.php on line2705」
このNoticeが消えなくて困ってしまいました。


WordPressのCodex日本語版(http://wpdocs.sourceforge.jp/Custom_Headers)の公式版を見て探っていく内に、今使っている教科書の「Cafe Miraggio」というテーマにある'functions.php'のファイルが旧版V3.2に対応した状態のままになっていることが、問題であることが分かりました。
つまりNoticeのメッセージは「wordpress\wp-includes\functions.phpの2705行に指定されている通り、add_custom_image_headerを止めてadd_theme_support('custom-header', $args ) を使いなさい。」と言ってるわけで、そのadd_custom_image_headerが実は使用されているのは、テーマ「Cafe miraggio」の中にある'functions.php'に辿り着いたのであります。
そこに書いてあるadd_custom_image_headerをadd_theme_support('custom-header', $args )に書き換えろということなんですネ。
ここまで来るのに苦労と時間がかかっているのですが、その上'functions.php'の何処をどういじっていいのか?これまたサッパリ分かりません。


そこで、どうにもならなくなって「速習デザイン WodPress 3.x」の著者の一人にWebサイトからダメモトでお問合せ質問を出しました。そしたらそのレスの速さは驚異的!
質問したのが11:53、レスがあったのが12:17、更に本格的な回答があったのが15:13という速攻のレス。その速さに驚き!!
そういった意味からこの教科書「速習デザイン WodPress 3.x」は「大変いいね!」 暫く、この教科書に従って勉強を続けようっと。


あ?肝心のVer3.4をインストールした時の不具合が何だったか書いてませんでしたね。回答は以下の様なことでした。

>>ご質問いただいた件ですが、Noticeのメッセージにもあるように、add_custom_image_headerが3.4から利用が非推奨となったことに起因するものとなります。
文面から、ある程度functions.phpもご覧いただいているようですので少々詳しく説明いたしますと、3.3まではカスタムヘッダーを利用する際

1. add_custom_image_header関数で機能の有効化
2. HEADER_TEXTCOLOR, HEADER_IMAGE, HEADER_IMAGE_WIDTH, HEADER_IMAGE_HEIGHTなど定数でのパラメーター指定
3. ランダム表示を行う場合は、add_theme_supportで指定

と様々な指定をする必要があり煩雑化していました。また、書籍では解説していませんが、子テーマという機能を利用する際にも定数を用いることは、阻害要因となっていました。

これを解消するため、3.4からはカスタムヘッダー機能を利用する際には、add_theme_supportで全てのパラメーターを指定するよう変更となり、add_custom_image_headerの利用は非推奨となりました。

miraggioテーマのfunctions.phpを3.4対応とするには、
1. add_custom_image_headerの削除
2. HEADER_IMAGE, HEADER_IMAGE_WIDTH, HEADER_IMAGE_HEIGHT,NO_HEADER_TEXT, HEADER_TEXTCOLORのdefineの削除
3. 代替としてadd_theme_supportの追加(以下のコード)

add_theme_support(
'custom-header',
array(
'default-image' => '%s/img/custom-header.png',
'width' => apply_filters( 'miraggio_header_image_width', 940 ),
'height' => apply_filters( 'miraggio_header_image_height', 340 ),
'header-text' => false,
'uploads' => true,
)
);

が必要となります。

下記(省略)に3.4対応としたfunctions.phpのサンプルをアップしておきますので、こちらを利用するか、ご自身でチャレンジして、サンプルと比較していただけると良いかと思います。
どうぞよろしくお願いします。<<

という具合で「世の中には金にもならんのに凄く熱心な人がいるもんだ!」と感心した次第。

もちろん、結果は旨くいきました。そしてWordPressの構造がどんなもんかチョット勉強になりました。