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

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

頑張ってください!!

この記事をシェアする

コメント

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

    by Jiro 2016年12月10日 10:41

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

      by ryoraspp 2016年12月10日 17:07

down コメントを残す




Optionally add an image (JPEG only)


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

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

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

関連記事

[後ほど感想を追記]甲陽音楽学院 オータムライブ2014  in Blue Note Nagoya  を聴きに行きました。
WordBench Nagoya 11月度のデザイナーさん必見の回の勉強会に参加してきました!
499円で購入できた CD/DVDウォレットを開封してみたら、高級感あってびっくり!
WordBench Nagoya 11月度参加してます!今回の内容はPHPの基本からテーマ作成まで!!
iOS版「Firefox Web ブラウザ」が正式に登場!パソコンとの同期が素晴らしく便利!
[宅録]「365日の紙飛行機」トランペットで吹いてみました!Youtubeにてご静聴ください!!
Amazonプライム・ビデオの「はぴまり」を見て、Amazonの本気を見せつけられた。地上波危し
「とんこつラーメン ラの壱 春日井店」のラーメンはとても美味しかった!!
[今日まで!]5/22日までの学割で「Kindle 7」を買い「Kindle Paperwhite (第1世代)」と比較、ストレージ容量だけ唯一廉価版の勝ち!
ブログなどに文章を書く僕にもぴったりな本でした。まずは他者意識を持つこと!「出口 汪の論理的に書く技術」

誰が書いてるの?

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...