• カテゴリー別アーカイブ WordPress
  • WordPressに関する記事を含みます。

  • レンタルサーバーのPHPバージョンアップで発生したワードプレスのエラー「Warning: Declaration of description_walker::start_el」を検索で修正した件


    いやはや、自分で考える力を放棄してはダメなんだなと再確認した一件でした。

    結構前から編集をお手伝いしている会社さん。
    ワードプレスをご利用してWEB公開されているのですが「レンタルサーバーのバージョンアップが終わったら、サイトのトップにエラーが出たので助けて」と救援メッセージが来た。

    そのサイトは、有料で購入したワードプレステンプレートを使っていたので、エラーメッセージを見て「wp-content/themes/xxx/functions.php on line 0X」あ~・・・・テンプレートのfunctions.php何十行目にエラーか・・・じゃ、販売元にメールで対応してもらえばいいんじゃね?と、購入履歴を元にフォームから問い合わせをかけた。

    しかし、4日経っても返事なし・・・
    ふざけた会社だなと、会社概要見ると「電話では対応しません、エラーが出ている情報が確認できない場合は連絡しません」とか強気。

    ふへぇ~・・・・土地柄なのかね?と思って、再度、エラーが出ている状態にして修正の問い合わせをかけた。
    土日挟んだけど、全く連絡無いので「ウッハ、自分で会社の評判落とすんかい?!」と無言のツッコミを入れて独自対応することにした。

    で、今回のレンタルサーバーは、機能強化とか言っていたけど、PHPのバージョンも最新の7.2.6になっていた。

    「あ、このへんかな?」とエラーメッセージの「Warning: Declaration of description_walker::start_el(&$output, $item, $depth, $args) 」で検索をかけたら一発で解決方法のサイトさんが出てきた。

    サーバーのPHPを7.0にアップしたらWordPressでエラーが出た時の対処方

    WEB制作会社さんの企業ページ内のブログ部分でしたが、非常に的確な解決方法でした。
    ・PHPのバージョンが上がった
    ・新しい変数に対応する必要がある
    ・正しい記述はこちら

    のような説明で一発回答だった。素晴らしい。

    エラーの表示はこんな感じで出ていた。
    Warning: Declaration of description_walker::start_el(&$output, $item, $depth, $args) should be compatible with Walker_Nav_Menu::start_el(&$output, $item, $depth = 0, $args = Array, $id = 0) in /home/xxx/xxx.com/public_html/xxx/wp-content/themes/xxx/functions.php on line 0X

    ワードプレステーマのfunctions.phpにある「start_el」を探して「&$output, $item, $depth, $args」を「&$output, $item, $depth = 0, $args = Array, $id = 0」に変更した。

    ——————————————————————
    class description_walker extends Walker_Nav_Menu
    {
    function start_el(&$output, $item, $depth, $args)
    {
    global $wp_query;
    $indent = ( $depth ) ? str_repeat( “t”, $depth ) : ”;
    ——————————————————————
    ↑コレを↓コウした
    class description_walker extends Walker_Nav_Menu
    {
    function start_el(&$output, $item, $depth = 0, $args = array(), $id = 0)
    {
    global $wp_query;
    $indent = ( $depth ) ? str_repeat( “t”, $depth ) : ”;

    PHPを上書きしたらエラーが消えた。

    まあ、やり終えて思ったのは、ちゃんとエラーメッセージ見ておけば連絡しなくて済んだな・・・って感じです。
    以前、自分のLOTO7予想ゲームでも、PHPのバージョンアップで変数が使えなくなって修正した事がありました。
    今回、他人が作った有料テンプレートだからと、販売元にスルーパスして修正を遅らせてしまったのは私のパスミスだったと反省した一件でした。
    次から頑張る・・・


  • ワードプレスの更新に失敗した場合のメッセージは2種類あるが、対応は同じである。

    ワードプレスを使っていると、プラグインの更新がエラーとなってサイトにアクセスすると真っ白、または「現在メンテナンス中のため、しばらくの間ご利用いただけません」場合によっては「Briefly unavailable for scheduled maintenance.」という画面表示になり、管理画面にもアクセスできなくなることがあります。

    ワードプレスを使用して間もない頃、このメッセージ出現でサイトにアクセスできずに焦りまくったことがありますが、今となってはプラグインエラーがあったらFTPでサーバー内を見て「.maintenance」を見つけて「またコイツかよ」ぐらいに思えるようになりました。

    解決方法は、この「.maintenance」を削除するか、リネームして無効にすれば復旧します。
    FTPソフトを使っていない場合、契約しているサーバー会社のWEBFTPで確認することが出来ると思います。
    プラグインも、便利だからと詰め込みすぎると更新で足を引っ張られることも有るので必要ないかな?と思ったら、しばらく無効化して影響なければ削除したほうがいいですね。


  • WordPressのプラグイン「All In One SEO Pack」をバージョンアップしたらビジュアル・テキストエディターのアイコンが消えた件

    現在、ワードプレスのバージョン4.9.4を利用中。
    本日プラグインのバージョンアップ告知が出ていたので更新したら投稿画面のタグを打ち込むアイコンが全て消えてしまった。

    通常は各種ボタンが表示されて使いやすいので、急に無くなると非常に困るw

    だいたい、こんな時はプラグインの更新が原因なのだが、迂闊なことに2個更新したプラグインのうち、一つが何だったか確認しないでクリックしてしまった。

    一つは「EWWW Image Optimizer」だと覚えていたけど、もう一つはリストの上の方にあったような・・・

    試しにEWWW Image Optimizerを停止したけど症状は変わらず。
    仕方ないので全部停止してから一つづつ有効化することにした・・・
    プラグインは便利だけど、たまにこのようなトラブルが有るから更新の際は注意が必要ですよね。

    プラグインを一括で「停止」後、リスト上部から一つづつ有効化していくと、5番目の「All In One SEO Pack」でアイコンが消える現象が出現。
    とりあえず、再度停止して、最後のプラグインまで一個づつ有効化した。

    結果は「All In One SEO Pack」のトラブルだった。

    かなり便利なプラグインだから、この症状は勿体無い。
    早く対応してくれるといいのだが、自分だけの症状ということも有るので、しばらく静観です。