こんにちは。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にして、エラーを表示するようにしてます。
普通に使っていれば、出ないエラーなのでご安心ください。
WordPress4.2.1でMaterialを使ってみたときの画面
それでは、まず、Wordpress4.2.1でMaterialを使ってみたときの画面をごらんください
うわーーーーなんかエラーだらけーーーーーーーーー
と、パニックになってしまうような表示の量ですが、ここでじっくり見てみましょう。
エラーをじっくり見てみる
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を見てみましょう
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を追加したらエラーが消えるかやってみましょう!
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’ と、追加してみました。
さあ、どうなったか見てみましょう!
おおおおおおおおおおおおおおお
これは成功ですね! エラー一つなくなって3行になってます!
ということで、下にあるあと三つもidを追加してみましょう!
下の三つにも追加してみる
こんな感じに追加しました。
それでは見てみましょう!
おおおおおおおおおおおおおお!!!!!!!!!
見事、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の作者もこうおっしゃってます。今回その理由がよくわかりました。
WordPressの更新は嫌いや。。 WordPressの更新に失敗して焦った時に、復旧する方法 | 一番かんたんなJava入門 http://t.co/XATveizG6T
— Nobuo (@Nobuo_Create) 2015, 4月 28
テーマ作者さん、エラーがどんどん出るようで本当に大変だと思われますが、こちらはとても応援してます。
頑張ってください!!
投稿者プロフィール
-
26歳 統合失調症の回復期の認知機能障害やうつ症状などに悩んでいるが、克服して、勉強や仕事ができる頃の脳に戻したい。
愛知産業大学短期大学通信教育学部国際コミュニケーション学科卒業(英語)
2016年セブ島へ1ヶ月語学留学してきた。
WordPress/PHP/HTML/CSS/React を習得中
英語とプラグインやテーマを開発できる人になるよう日々研鑽
ジャズトランペットとガジェット関連が好きです。
[ 最近のWordPressコミュニティでの活動 ]
contents.nagoya 2019 オープンセッションスピーカー
WordCamp Haneda 2019 – START!セッションスピーカー
Aichi WordPress Meetup #9「WordPress用のレンタルサーバーの選び方 /Emmetツールの実演」
WordBench Nagoya 6月度 (初心者向け)「PHP入門からテーマ作成さらにWordPressを使う上で知っておくと幸せになることまでとことん知ろう!
Aichi WordPress Meetup #5「カスタムブロックを活用してみよう!」
2017 WordFesNagoya 実行委員 Webサイト制作チーム & セッションスピーカー
2016 WordFesNagoya 実行委員 Webサイト制作チーム & セッションスピーカー
TOEIC
2016年03月13日 LR 235 (Listening 180 Reading 55)
2018年04月08日 LR 300 (Listening 180 Reading 120)
最新の投稿
- web2024年4月22日WordPress Playground を日本語版WordPressではじめる方法があったからメモ!
- 考え事2024年3月14日「メンタルヘルス・マネジメント検定試験 III種 セルフケアコース 非公式テキスト たくさんの資料から深く知識を得て合格しよう!」の参考リンク集
- トランペット2023年12月21日[朝ドラ]連続テレビ小説「ブギウギ」一井さんのトランペット 使用楽器は?
- Mac2023年12月21日MacBook で、sudo pmset -a disablesleep 1 やったら途中でロックされて Time Machine が止まるので設定を見直したらできた