ryo.nagoya

夢の夢を直向きに追いかけて本当にする

「サイドバーの引数の配列で id が設定されてない」と出るのを対処してみました[WordPress4.2.1][wp-material]

calendar 2015年5月3日

reload 2016年4月11日

こんにちは。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 日本語版にて、関数リファレンスより、使い方を見てみましょう。

関数リファレンス/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の作者もこうおっしゃってます。今回その理由がよくわかりました。

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

頑張ってください!!

この記事をシェアする

コメント

コメントはありません。

down コメントを残す




Optionally add an image (JPEG only)


※Nameを空欄にすると匿名になります。

※コメント欄のみでコメントできます。

※管理者が承認するまで公開されません。

関連記事

「BLUE GIANT」は、これからジャズをやっていこうという人にオススメの漫画!
Windows7使いの人がWindows10にアップグレードして困ること一つを先に書いておく
小牧駅の自転車置き場はここにある[小牧駅南自転車駐車場]
[Skyland Ventures Campus in 名古屋]起業家の講演を聞き、その一歩への世界を体感できてすごく有意義な時間でした #SVcampus
android5.1はメンテナンスアップデートで3月!?2月末という噂はなんだったのか。

No Image

[iPhone6]iOS 10  Beta 1 vs iOS9.3.2 vs iOS9.2とベンチマーク比較!勝者は誰だ?

No Image

MacbookAirに本気で完璧にシールを貼る方法! WordFes Nagoyaのシールをいただいたので早速貼りました!! WordBench Nagoya 11月度にて
Nexus 7 [2013] (Wi-Fi)にも6.0  Marshmallowのファクトリーイメージが来た!恒例のあのやり方でアップデートできるよ![要ブートローダーアンロック]

誰が書いてるの?

ryoraspp

ryoraspp

統合失調症睡眠障害RLSを治療しながら通信制の大学と英会話AEONで英語を学んでる大学生。
いつか留学したいと思いながら勉強してます。
ジャズトランペットPC・ガジェット関連とWordPressが好きです。
詳細はこちらをクリック!