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

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

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

RSS(Really Simple Syndication)はブログのエントリやニュースの見出し、標準のフォーマットの音声やビデオなどを発行するために使われるウェブフィードのフォーマットの集合体です。

WordPress

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

PHP

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

Q&A

解決済

3回答

2708閲覧

wordpressプラグインpost snippetsにて外部ブログのRSSを取得し表示したい。

TSK721

総合スコア11

RSS

RSS(Really Simple Syndication)はブログのエントリやニュースの見出し、標準のフォーマットの音声やビデオなどを発行するために使われるウェブフィードのフォーマットの集合体です。

WordPress

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

PHP

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

0グッド

0クリップ

投稿2017/06/01 04:41

編集2017/06/01 05:01

初めて質問させていただきます。よろしくお願いいたします。

表題の通り、wordpressにてpost snippetsというショートコードのプラグインを使用しており、外部ブログのRSSを取得するPHPをショートコード化し、投稿記事で使用したく考えております。

そこで、上記プラグインにてPHPのコードを記述したのですが、RSS取得がうまく行かず、「データがないときの処理」が行われてしまい、「no articles」と表記されてしまいます。

どうにかRSSを取得して、外部ブログの投稿を表示できるようにしていきたいのですが、原因が自分では見つけられずに困っております。

みなさんのお力をお貸しいただければ幸いです。

尚、プラグインPost Snippets上では、<?php?>とendif;?>は記述しないことがルールのようですので、それらを省いた形でコードを書いております。

私が書いたコードは以下の通りです。

###該当のソースコード

include_once(ABSPATH . WPINC . '/feed.php'); $rss = fetch_feed(array( '外部ブログのRSS', '外部ブログのRSS', )); if (!is_wp_error( $rss ) ) { $rss->set_item_limit(3); $rss->set_cache_duration(1800); $rss->init(); $maxitems = $rss->get_item_quantity(300); $rss_items = $rss->get_items(0, $maxitems); date_default_timezone_set('Asia/Tokyo'); } echo '<ul class="list-icon">'; if ($maxitems == 0) { // データがないときの処理 echo '<li>no articles</li>'; } else { foreach ( $rss_items as $item ) { echo '<span style="font-size: 22px;">■<a href="'. $item->get_permalink() .'">'. $item->get_title() .'<br></a></span><span>by【'. $item->get_feed()->get_title().'】さん&nbsp;&nbsp;&nbsp;'. $item->get_date('Y.n.j') .'</span></a><br><br>'; } } echo '</ul>';

###試したこと
外部ブログのRSSが間違っているのかと思い、他のサイトやgoogleニュースなどのRSSを使用してみましたが、それも取得できないようで、「no articles」と表記されていました。

###補足情報
お手数をおかけしますが、よろしくお願いいたします。

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

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

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

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

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

kei344

2017/06/01 04:44

質問文のコードはコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「<code>」ボタンを押すとコードブロックになります。
TSK721

2017/06/01 04:58

ご指摘ありがとうございます!修正したします!
8-0_nyan5

2017/06/01 05:47

試してみましたが、問題なく動きましたよ。
TSK721

2017/06/01 05:51

ありがとうございます。コードには問題ないんですね。他の原因を探ってみます。ありがとうございます。
guest

回答3

0

ベストアンサー

そんなことは無いと思いますが、
「外部ブログのRSS」のリンクが違うとか?

誤 'blog.teratail.com/feed' 正 'http://blog.teratail.com/feed'

投稿2017/06/01 07:32

8-0_nyan5

総合スコア2352

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

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

TSK721

2017/06/01 07:51

ありがとうございます。 複数あるリンクの内、一つだけが間違っていたようです。 リンクを全て確認して、やり直したところ、うまくいきました。 こんな初歩的なミスでお手間を取らせてしまい、本当に申し訳ございませんでした。 でも、すごく助かりました。ありがとうございます。
guest

0

複数あるRSSのリンクの内、一つだけが間違っていました。
全てのRSSを確認後、記述し直したところ、改善できました。
初歩的なミスで大変お騒がせしました。
ありがとうございました。

投稿2017/06/01 07:54

編集2017/06/01 08:01
TSK721

総合スコア11

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

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

0

エラーの中身を確認してみてはいかがでしょう。

【WordPressのエラー処理 WP_Error クラスの使い方 | Firegoby】
https://firegoby.jp/archives/4175

PHP

1var_dump($err->get_error_messages());

投稿2017/06/01 06:31

kei344

総合スコア69400

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

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

TSK721

2017/06/01 06:41

ありがとうございます! 教えていただいたサイトを見て見たのですが、WP_Erroクラスの使い方が理解できないです。 超初心者でところどころしかわかっていないので、もしよろしければ、私の書いたコードのどこに追記すればいいかを教えていただけないでしょうか? 本当にお手数をおかけして、厚かましいお願いばかりで申し訳ありません。
kei344

2017/06/01 06:44

$rss が WP_Error クラス だったら、中身を出して確認する、以外どう説明しましょう。 聞く前にまず試してみてください。
TSK721

2017/06/01 06:54

わかりました。 教えていただいたコードを1行ずつ入れて試してみます。
TSK721

2017/06/01 07:53

お答えいただき、ありがとうございました。 原因はリンクの表記ミスでした。 初歩的なミスでお手間を取らせてしまい申し訳ございませんでした。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問