web-dev-qa-db-ja.com

「Notice:Undefined offset:0」という修正方法を教えてください。

私はWordPressウェブサイトを始めています、そして私は私の投稿のいくつかに問題を抱えています。

この問題は、4つの記事のうち2つの記事にのみ影響を及ぼしており、調査の結果、その理由について考えることはできません。

このエラーメッセージはコメントセクションのすぐ下に表示されます。

Notice:未定義のオフセット:3152行目の/home/***/public_html/wp-includes/class-wp-query.phpに0

その行を検索すると、この関数が見つかります。

enter image description here

私は私のWordPressコードでこの機能を検索しましたが、いくつかの一致しか見つかりませんでした。

grep -r rewind_posts *
wp-content/themes/magazine/themify/themify-wp-filters.php:              rewind_posts();
wp-includes/class-wp-query.php:                 $this->rewind_posts();
wp-includes/class-wp-query.php: public function rewind_posts() {
wp-includes/feed-rdf.php:<?php rewind_posts(); while (have_posts()): the_post(); ?>
wp-includes/query.php:function rewind_posts() {
wp-includes/query.php:  $wp_query->rewind_posts();

これらの結果に関して、rewind_postquery.phpには、このclass-wp-query.php関数の2つの異なる実装があります。

この関数が呼び出される場所は2箇所だけです。私は、使用されているテーマに関連するもの、themify-wp-filters.php、に焦点を当てています。これは、この関数から呼び出されます。function themify_404_templateこれは、私が404ページを表示していないため、あまり言いません。

私は現在Super Socializerプラグインを使用していますが、ソーシャルコメント機能は有効にしていません。

何か案は?

1
WarioNeila86

あなたはWordPressのコアファイルでPHPという通知の原因を探しています。これは1)WordPressに新しいバグが見つかったのではないかと思われます。テーマやプラグインの問題を修正するためにWordPressのコアファイルを修正したい、そして3)エラーはテーマやプラグインによるものでWordPressのコアではないが、コアファイルを指すものとしてPHP通知に現れる。

そしてそれ以外に、それはPHP通知です。エラーではなく、致命的なエラーではなく、通知です。それが意味するのは、「ねえ、私を見てください、あなたはある時点で私を直したいと思うかもしれませんが、私は誤りではありません」。 https://stackoverflow.com/questions/4624474/php-difference-between-notice-and-warning を読んでください。

注意:それはあなたがすべきこととすべきでないことを伝えるためのメッセージです。

警告:実行時に発生します。ただし、コードの実行に割り込まれることはありません。

エラー:実行時にも発生しますが、プログラムの実行は継続されずに終了します。

Wp-config.phpをチェックインしてデバッグをオフにし、 https://codex.wordpress.org/Debugging_in_WordPress という通知が表示されないようにするか、ホスティングアカウントのphp.iniをチェックインします。 https://stackoverflow.com/questions/1053424/how-do-i-get-php-errors-to-display を参照してください。

PHPエラーまたは注意の原因をより効果的に見つけるには、上記のようにデバッグを使用します。しかし最も簡単なことは、すべてのプラグインを無効にして、通知をスローするプラグインが見つかるまで再度有効にすることです。それからプラグインに助けを求めるか、彼らのフォーラムを調べてください。または、プラグインが原因ではない場合は、デフォルトのWordPressテーマに切り替えて、通知がwp_debug.によって記録されたエラーログにあるかどうかを確認してください。

1
markratledge

私は最近 rewind_posts 関数のための分析を提供しました。

>grep -r rewind_posts *
wp-content/themes/magazine/themify/themify-wp-filters.php:              rewind_posts();
wp-includes/class-wp-query.php:                 $this->rewind_posts();
wp-includes/class-wp-query.php: public function rewind_posts() {
wp-includes/feed-rdf.php:<?php rewind_posts(); while (have_posts()): the_post(); ?>
wp-includes/query.php:function rewind_posts() {
wp-includes/query.php:  $wp_query->rewind_posts();

WordPressの優秀なエンジニアはそのような問題の発生を許可していないため、おそらく問題はWordPressのコアにはないと思われます。

経験から、テーマ開発者は時々コードを締めくくるのを忘れるかもしれないので、あなたは以下で問題を予想するかもしれません:

wp-content/themes/magazine/themify/themify-wp-filters.php: 

if()でいくつかの条件をチェックせずにrewind_postsを使う。テーマには、巻き戻しを行うものに応じてこのチェッカーがあります。

私はコードを持っていないので、私はそれ以上言うことはできません。この問題をテーマサポートに送ってください。

0
prosti