質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

787閲覧

Yoast seoのアップデートでPHPエラー

yukiko

総合スコア41

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2017/12/28 05:08

編集2017/12/28 05:43

Yoast seoを6.0にアップデートしたら、phpのエラーが出るようになりました。

(一部伏字)
Undefined offset: 1 in /home/xxx/www/xxx/wp-content/plugins/wordpress-seo/admin/class-admin-asset-manager.php on line 69

ソース的にエラーが出る箇所は下記です。

php

1 /** 2 * Calls the functions that register scripts and styles with the scripts and styles to be registered as arguments. 3 */ 4 public function register_assets() { 5 $locale = get_locale(); 6 list( $language, $territory ) = explode( '_', $locale ); 7 8 wp_register_script( 9 self::PREFIX . 'intl-polyfill', 10 sprintf( 'https://cdn.polyfill.io/v2/polyfill.min.js?features=Intl.~locale.%s', $language ), 11 array(), 12 WPSEO_VERSION 13 ); 14 15 $this->register_scripts( $this->scripts_to_be_registered() ); 16 $this->register_styles( $this->styles_to_be_registered() ); 17 }

「list( $language, $territory ) = explode( '_', $locale );」この行です。

プラグインを停止すればphpエラーは消えるのですが、停止すると投稿ページのコンテンツの中身が表示されなくなってしまいました。(いわゆるheader.phpやfooter.phpなどの枠組み的なものは表示されますが、ビジュアルモードやテキストモードで入力した部分が表示されません。)

仕方がないので、5.0にバージョンを戻して入れなおしたところ、元に戻りましたが、なぜこうなるのかがわかりません。

皆様のところではこのような現象は出ていないでしょうか。

また、最新を入れるためにこうすればいいよ等の情報がありますでしょうか。

【情報追加】
https://wp-doctor.jp/blog/2017/10/19/wordpress-sakura%E3%81%95%E3%81%8F%E3%82%89%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%8D%E3%83%83%E3%83%88%E3%81%A7%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E3%81%AE%E6%9B%B4%E6%96%B0%E5%BE%8C/
上記のページを見て、PHPのバージョンかなと思ったのですが、レンタルサーバはさくらで、PHP 7.1 [標準のPHP] (CGI版) で運用しています。なので、PHPのバージョンが原因ではないと考えています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

GitHub(https://github.com/Yoast/wordpress-seo/)の issue を探してみたら、すでに登録がありました。

issue に登録された内容は、すでに修正されて、commit されているようですので、次回のリリースでは治っている可能性が高いと思われます。

以下にソースの修正内容がありますから、ソースを書き換えてみて、不具合が治っているか確認したらどうでしょうか?

get language using WPSEO_Utils 参照。


WordPress 4.9.1 + Twenty Seventeen + プラグイン8点入りのテストサイトに入れてみましたけど、書かれているような不具合はでていないです。(Web サーバの Locale は、C にしているからかなぁ...)

投稿2017/12/28 05:59

編集2017/12/28 06:01
CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yukiko

2017/12/28 06:17

上記、get language using WPSEO_Utils を参考に修正してみようと再度アップデートしたところ、既にPHPエラーは出ませんでした。 ほんの少しの時間差だったようです。助かりました。ありがとうございました。
CHERRY

2017/12/28 06:22

インストールしたファイルの更新日は、調べなかったな... 配布されている版が、修正されていたのですね。
guest

0

状態は未解決ですが同じ内容かと思います。
https://wordpress.org/support/topic/updated-yoast-seo-wordpress-now-displays-errors/

WordpRessが最新でなければ最新に更新してみて、と書いてあります。

追記
↑は無意味ですね。

ちょっと見てみましたがNoticeなので大した問題ではないかと思います。
通常はデバッグモードにしていないと表示されませんが、常にデバッグモードにしているのでしょうか?
原因は$territoryの中身が空だからです。
例えばWordPressの言語設定が英語の場合はen_USとなり$territoryの中にUSが入るのでエラーになりませんが
日本語だとja_JPではなくjaなので$territoryが空になってしまいエラーになります。

投稿2017/12/28 05:48

編集2017/12/28 06:13
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yukiko

2017/12/28 06:12

ご回答ありがとうございます。 WORDPRESSは最新の4.9.1なので、多分大丈夫ではないかなあと思います。
yukiko

2017/12/28 06:23

デバッグモード…すみません。今調べました。確かにデバッグモードになっていました。 先にCHERRYさんの回答を見て、確かめてしまったので、今回はあちらにベストアンサーを差し上げたいと思います。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問