お客さんの「ナイスさんいん」のトップページおよびサイドバーに、↓のように社長ブログのRSSを表示させています。
社長ブログは、JUGEMブログなので、↓のようなコードで最新のブログタイトルを引っ張って表示させています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<?php include_once(ABSPATH . WPINC . '/feed.php'); $rss = fetch_feed('http://naissanin.jugem.jp/?mode=rss'); // RSSのURLを指定 if (!is_wp_error( $rss ) ) : $maxitems = $rss->get_item_quantity(5); // 表示する記事の最大件数 $rss_items = $rss->get_items(0, $maxitems); endif; ?> <ul> <?php if ($maxitems == 0): echo '<li>表示するものががありません</li>'; else : date_default_timezone_set('Asia/Tokyo'); foreach ( $rss_items as $item ) : ?> <li style="border-bottom: 1px solid #ccc; padding:5px;"> <a href="<?php echo $item->get_permalink(); ?>" rel="bookmark"> <span class="blog-title"><?php echo $item->get_title(); ?></span></a> <span class="entry-date"><?php echo $item->get_date('Y/n/j'); ?></span> </li> <?php endforeach; ?> <?php endif; ?> </ul> |
データベースのPHPを7.1にバージョンアップしたら、↓のようにエラー文がぁーーーー!!ΣΣ(゚д゚lll)ガガーン!!
Warning:A non-numeric value encountered in /home/*****/www/**/wp-includes/SimplePie/Parse/Date.php on line 694
※「***」は、個人的なアカウント名やフォルダ名なので「***」にしてます。
このエラー文で検索をかけてみたら、↓の記事を見つけました。
参考 PHP7.1で「Warning: A non-numeric value encountered in」の対処法
これはPHP7.1からの変更点で、数値ではない値で演算を行うと警告が表示されてしまうみたいですね。「media.php」の647行目を見てみると、以下のような演算が行われています。おそらく「$expected_size」が文字列として扱われてしまっているので「(int)$expected_size」というように、型を指定してあげます。これでエラー(警告)は表示されなくなりました。
きっと、↑コレだ!と思い、同じ対処方法を施してみることに。
エラー文がでた時の対処方法
①該当ファイルをダウンロード
エラーが出てるのは、「wp-includes」フォルダの中の「SimplePie」フォルダの中の「Parse」フォルダの中のDate.phpの694行目ってことなので、この行を修正するために、FTPでサーバーに接続して、該当ファイルDate.phpをダウンロード。
②テキストエディタで開く
ダウンロードしてきたDate.phpを、TeraPadというテキストエディターで開き、694行目をチェック!
③該当箇所に、(int)または(float)を追加
文字列として扱われてしまっていそうな箇所に、↓のように「int型」(整数)指定。
今回の場合は、メディア(写真)のサイズなので、「int型」(整数)で良いと思うのですが、「(float)」を指定しても警告は表示されなくなりました。間違えている場合には、ご指摘していただけますと幸いでございます。
とあったので、「(float)」の指定をしてみてもOKでした。
これでエラーが解消され、ちゃんとRSSが表示されるようになりました!ヽ(=´▽`=)ノ
本体をバージョンアップしたら、この修正も上書きされますので、エラーが表示されるようになります。また、上記内容を対処して下さい。