ryo.nagoya

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

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

calendar

reload

こんにちは。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の作者もこうおっしゃってます。今回その理由がよくわかりました。

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

頑張ってください!!

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

Twitter で

この記事をシェアする

コメント

  • ありがとう!
    助かりました!
    感謝です!

    by Jiro 2016年12月10日 10:41

    • 良かったです!
      こちらの記事ご覧になりありがとうございます!

      by ryoraspp 2016年12月10日 17:07

down コメントを残す




Optionally add an image (JPEG only)


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

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

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

関連記事

KUSANAGI上でWordPressやプラグインのアップデートの仕方をようやく知った!
Microsoft Azure上の超高速WordPress仮想マシン「KUSANAGI」上で独自ドメインを設定しようとしたところ、wwwが入ってしまう・・・
お久しぶりです!ryo.nagoyaこれからのことを報告します。

No Image

[NG]Microsoft Azure上の超高速WordPress仮想マシン「KUSANAGI」を常時SSL・HTTP/2化に対応させるために移設する
水拭きで消せるマッキーがあれば何度でもノートのタイトルを変えれる!
KUSANAGI(超高速WordPress仮想マシン)にphpMyAdminを導入する方法
WordBench Nagoya 11月度参加してます!今回の内容はPHPの基本からテーマ作成まで!!
「おそ松さんたちのへそくり奪取の旅」は、「にゃんこ大戦争」のほぼパクリな上サーバーが耐えきれてなく全然遊べない件

No Image

誰が書いてるの?

ryoraspp

ryoraspp

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

folder iPhoneアプリ開発用語

No Image

No Image

No Image

No Image

No Image

No Image

more...

folder Java言語習得

No Image

more...

folder Sonar

「Sonar X1 LE」をDominoのように使いたい!そんな時はこれ!
more...

folder スピーカー

No Image

more...

folder テーマ

Stinger5子テーマ「SIMPLESTER」Ver2が出たので、Ver1と比較してみました!
more...

folder 考察

グループ系YouTuberカリスマブラザーズは何も変わってない
more...