こんにちは。ryo@substuporです。



今回の環境

パソコン:Windows 10 Insider Preview Build 10074
サーバー:MAMP & MAMP PRO 3 Beta 1 (Windows)

Published: 2015-04-22

Apache: 2.2.27
MySQL: 5.5.41
PHP: 5.6.3

WordPress:4.1.2

テーマ:wp-material ver.1.5.8

WordPress4.2.1へのアップデートがあった

 

WordPress4.1.2を使ってましたが、WordPress4.2.1に最近WordPressのアップデートがありましたね!

しかし、4.2.1にいきなりアップデートすると、ひょっとしたら、まだ対応していないプラグインが出てきて、それが使えなくなったり、テーマが対応してなかったりしてるのかもしれません。

テーマ「Material」を試して見る

 

ですので、一度、「MAMP」というローカルでWordPressを試せるアプリケーションを使って、今回は、当ブログで使っている「Material」というテーマをWordPress4.2.1で使えるのか試してみたところのお話です。

wp-config.phpのWP_DEBUGの値をtrue

 

今回はエラーを見るために、WordPressのwp-config.phpのWP_DEBUGの値をtrueにして、エラーを表示するようにしてます。

WordPressのwp-config.phpのWP_DEBUGの値をtrueにする

普通に使っていれば、出ないエラーなのでご安心ください。

WordPress4.2.1でMaterialを使ってみたときの画面

 

それでは、まず、Wordpress4.2.1でMaterialを使ってみたときの画面をごらんください

エラー1

うわーーーーなんかエラーだらけーーーーーーーーー

と、パニックになってしまうような表示の量ですが、ここでじっくり見てみましょう。

エラーをじっくり見てみる

 

Notice: register_sidebar が誤って呼び出されました。「サイドバー(広告上) 」サイドバーの引数の配列で id が設定されませんでした。既定では「sidebar-1」です。id に「sidebar-1」を設定することでこの情報を消して、既存のサイドバーのコンテンツを保つことができます。 詳細は WordPress のデバッグをご覧ください。 (このメッセージはバージョン 4.2.0 で追加されました) in C:MAMPhtdocswp-includesfunctions.php on line 3560

 

わかりやすくしてみると、

register_sidebarがおかしい!

「サイドバー(広告上) 」サイドバーのところ

引数の配列で id が設定されてないよ!

id に「sidebar-1」を設定するとこのエラー消えるよ!

こういうことでしょうか?

WordPress Codex 日本語版にて、関数リファレンスをみる

 

register_sidebarというのがよくわからないので、ここで、WordPress Codex 日本語版にて、関数リファレンスより、使い方を見てみましょう。

http://wpdocs.sourceforge.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/register_sidebar

関数リファレンス/register sidebar – WordPress Codex 日本語版

デフォルトの使い方

<?php $args = array(
	'name'          => __( 'Sidebar name', 'theme_text_domain' ),
	'id'            => 'unique-sidebar-id',
	'description'   => '',
	'class'         => '',
	'before_widget' => '<li id="%1$s" class="widget %2$s">',
	'after_widget'  => '</li>',
	'before_title'  => '<h2 class="widgettitle">',
	'after_title'   => '</h2>' ); ?>

デフォルトではこう使うという例をここでみることができました!

そして、ここにidのところがありますね!

‘id’ => ‘sidebar-$i’,

こうなっていればいいということなんです

functions.phpのエラーだからfunctions.phpをみてみる

 

それでは、エラーには、functions.phpのエラーが出ているので、テーマの中のfunctions.phpを見てみましょう

idがない


	register_sidebar(array(
		'name' => 'サイドバー(広告上)',
		'before_widget' => "<div class='box'>",
		'after_widget' => "</div>",
		'before_title' => "<h2 class='box-header main-color-font'>",
		'after_title' => '</h2>'
	));

 

となっていて、やはり、nameの下にidの指定がないという現状でした。

ということで、今回はidを追加したらエラーが消えるかやってみましょう!

Materialのfanctions.phpのregister_sidebarをみてみる

 

	register_sidebar(array(
		'name' => 'サイドバー(広告上)',
		'id' => 'sidebar-1',
		'before_widget' => "<div class='box'>",
		'after_widget' => "</div>",
		'before_title' => "<h2 class='box-header main-color-font'>",
		'after_title' => '</h2>'
	));

このような感じに、’id’ => ‘sidebar-1’ と、追加してみました。

さあ、どうなったか見てみましょう!

‘id’ => ‘sidebar-1’を追加してみた結果

 

エラー2

おおおおおおおおおおおおおおお

これは成功ですね! エラー一つなくなって3行になってます!

ということで、下にあるあと三つもidを追加してみましょう!

下の三つにも追加してみる

 

idを4つとも書く

こんな感じに追加しました。

それでは見てみましょう!

エラーが消えたらまたエラーが出現

おおおおおおおおおおおおおお!!!!!!!!!

見事、register_sidebarのエラーが消えましたね!!!!

皆さん、もし、register_sidebar関連で不具合などが出た場合は今回の方法を実践してみて、対処してみてください!

最後に

 

しかし、今回は、別に大した不具合起きたわけでもなく、

ただ、WordPress4.2から増えたサイドバーのidを指定するということを、やっていないってだけで、

表示がおかしくなったわけではありません。

WordPressのwp-config.phpのWP_DEBUGの値をtrueにしてエラーを見るのは、よっぽど神経質な人か、

もしくは、今現在、テーマの動きがおかしい、表示されない、プラグインが動かない、おかしい、そいういうときにtrueにするものなんです。

また、trueにすると、今回のように、見ているページをエラーが占領するようになります。本番のサーバーでtrueにして表示させるのは避けましょう!

それでは、今回は、4.2から増えたregister_sidebarのidのエラーを対処してみました。

他のテーマでも、WordPress4.2が出る以前に作られたテーマであれば今回のエラーが出る可能性があります。もし、このエラーが表示された場合はこの方法を試してみましょう!

それと、もう気付いていると思いますが、先ほどの画面、

エラーが消えたらまたエラーが出現

Notice: Undefined variable: additional_loop in C:MAMPhtdocswp-contentthemeswp_materialloop.php on line 39

Notice: Trying to get property of non-object in C:MAMPhtdocswp-contentthemeswp_materialloop.php on line 39

このエラーがでてるではないですか!!!!

一難去ってまた一難

今度は、Materialの中のloop.phpの39行目におかしいところがあるそうです。

このエラーはいつか対処できたら書いていけたらなと思います。

WordPressのバージョンが上がるといろいろあるのですねー

Materialの作者もこうおっしゃってます。今回その理由がよくわかりました。

テーマ作者さん、エラーがどんどん出るようで本当に大変だと思われますが、こちらはとても応援してます。

頑張ってください!!

関連記事


投稿者プロフィール

ryoraspp
ryoraspp通信の短大生
統合失調症と睡眠障害とRLSを治療しながら、通信制の大学と英会話で英語を学んでる大学生。
2016年セブ島へ1ヶ月語学留学してきた。
ジャズトランペットとガジェット関連が好きです。
WordPress関連を勉強してます。

Mac/iPadPro9.7/iPhone5s/pebble/Nexus7/XperiaZ1

TOEIC
2016年03月13日 LR 235 (Listening 180 Reading 55)

[ 最近のWordPressコミュニティでの活動 ]
2017 WordFesNagoya 実行委員 Webサイト制作チーム & セッションスピーカー
2016 WordFesNagoya 実行委員 Webサイト制作チーム & セッションスピーカー

この記事が気に入ったら
いいね ! しよう

Twitter で