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

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

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

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

WordPress

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

Q&A

解決済

2回答

1066閲覧

【wordpress rss取得】日付を最終更新日にする

highfive

総合スコア12

RSS

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

WordPress

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

0グッド

0クリップ

投稿2018/11/06 02:15

お世話になります。worspressやrss取得に詳しい方、教えて下さい。
宜しくお願い致します。

私自身の外部のブログ(wordpress)の新着を、別wordpressのサイトに表示させたいと思っております。
表示まではできたのですが、日付取得の箇所が登録日となっております。
登録日ではなく最終更新日の日付を取得したいと思っております。

色々なサイトを元に完成したものですので誤ったコードがあればご指摘ください。

登録日ではなく最終更新日の日付を取得・表示するにはどのようにしたらいいのでしょうか?
ご教示のほどよろしくお願いいたします。

<ul class="new_list"> <?php include_once( ABSPATH . WPINC . '/feed.php' ); $rss = fetch_feed(array( 'https://URL/?feed=rss2', 'https://URL/?feed=rss2' )); if (!is_wp_error($rss)) { $maxitems = $rss->get_item_quantity(12); $rss_items = $rss->get_items( 0, $maxitems ); } foreach ( $rss_items as $item ) : $url = $item->get_permalink(); ?> <li> <?php $first_img = ''; if ( preg_match( '/<img.+?src=[\'"]([^\'"]+?)[\'"].*?>/msi', $item->get_content(), $matches ) ) { $first_img = $matches[1]; } ?> <p class="news_pic"><a href="<?php echo $url; ?>"><img src="<?php echo esc_attr( $first_img ); ?>" alt=""></a></p> <?php //更新日を表示 $item_date = $item->get_date(); $date = date('Y年m月d日',strtotime( $item_date )); ?> <p class="date"> <?php echo $date; ?> </p> <p class="title"> <a href="<?php echo $url; ?>"><?php echo $title ;?></a> </p> </li> <?php endforeach; wp_reset_postdata(); ?> </ul>

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

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

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

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

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

guest

回答2

0

ベストアンサー

最終更新日はデフォルトのfeed.phpでは取得していないので必要な項目は自作して出力してください。

【WordPress】標準のRSSをカスタマイズして出力する
https://qiita.com/pman-maru/items/f582f48ad3ee9ae41704

投稿2018/11/06 12:03

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

highfive

2018/11/07 04:38

Space-Monkey様 ご回答ありがとうございます。 最終更新日はfeed.phpでは取得していないのですね。なるほどです。 カスタマイズ頑張ってみます。ありがとうございました。
guest

0

$item は SimplePie_Item クラスのオブジェクトなので、

php

1$item_date = $item->get_date();

の代わりに

php

1$item_date = $item->get_updated_date();

とすればよいです。さらに言えば get_updated_date() には引数で日時の書式を渡せるので、

php

1$date = $item->get_updated_date('Y年m月d日');

と書けます。

http://simplepie.org/api/class-SimplePie_Item.html

投稿2018/11/06 08:29

koyhoge

総合スコア268

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

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

highfive

2018/11/06 09:58

koyhoge様 ご親切に回答ありがとうございます。 <?php //更新日を表示 $item_date = $item->get_date(); $date = date('Y年m月d日',strtotime( $item_date )); ?> <p class="date"> <?php echo $date; ?> </p> 上記を <?php //更新日を表示 $item_date = $item->get_updated_date(); $date = date('Y年m月d日',strtotime( $item_date )); ?> <p class="date"> <?php echo $date; ?> </p> このように変更したところ、 【1970年01月01日】 と表示されました。 無知で申し訳ございませんが解決方法はございますでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問