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

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

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

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

WordPress

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

Q&A

解決済

1回答

1672閲覧

WordPress 外部RSSを出力して、PR(広告)を非表示にする方法

hrn

総合スコア17

RSS

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

WordPress

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

0グッド

0クリップ

投稿2017/09/04 04:23

###前提・実現したいこと
外部RSS(ニュース)をPR(広告)箇所を除いて
WordPress上に出力させたい

###現在のソースコード

<?php include_once(ABSPATH . WPINC . '/feed.php'); $rss = fetch_feed('ここに外部RSSのURL表記'); if (!is_wp_error( $rss ) ) : $maxitems = $rss->get_item_quantity(18); $rss_items = $rss->get_items(0,$maxitems); endif; ?> <!--NEWS slider start--> <div id="slide_space"> <ul class="bxslider"> <?php if ($maxitems == 0):echo '<li>表示するものがありません</li>'; else : date_default_timezone_set('Asia/Tokyo'); foreach ($rss_items as $item ) : ?> <li> <a href="<?php echo $item->get_permalink(); ?>" target="_blank"> <?php $first_img=''; if(preg_match('/<img.+?src=[\'"]([^\'"]+?)[\'"].*?>/msi', $item->get_content(), $matches)){ $first_img = $matches[1]; } ?> <img src="<?php echo esc_attr($first_img); ?>" width="alt" height="100"> <p><?php echo $item->get_title(); ?></p> </a> </li> <?php endforeach; ?> <?php endif; ?> </ul> </div> <!--NEWS slider end-->

###試したこと
ネットで調べて、記述してみたら500エラーとかにはならないが
RSSの記述以降の要素が表示されない

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

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

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

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

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

hrn

2017/09/04 07:44

お忙しいところ、ありがとうございます。デバックモードのプラグインで確認はしているのですが、そういったエラーは出ていません。
hrn

2017/09/04 08:07

連投すみません。プラグインではなくデバックモードにしたところエラーを発見することが出来、解決しました。URLまでご丁寧にありがとうございました
kei344

2017/09/04 10:53

解決されたようでよかったです。具体的に何が問題であったかも回答に追記されるとより良いと思います。
hrn

2017/09/05 02:42

わかりました、今後そうします。ご丁寧に教えていただきありがとうございました。
guest

回答1

0

自己解決

<?php include_once(ABSPATH . WPINC . '/feed.php'); $display_posts_count = 5; $get_posts_count = 10; $rss = fetch_feed('ここにRSS URL'); $counter = 0; if (!is_wp_error( $rss ) ) : $maxitems = $rss->get_item_quantity($get_posts_count); $feed_items = $rss->get_items(0,$maxitems); endif; ?> <div id="slide_space"> <ul class="bxslider"> <?php if ($feed_items == 0) echo '<li>表示するものがありません</li>'; else foreach ($feed_items as $item ) : if ( !preg_match('/^PR:/', $item->get_title() ) && $counter < $display_posts_count ): ?> <li> <a href="<?php echo $item->get_permalink(); ?>" target="_blank"> <?php $first_img=''; if(preg_match('/<img.+?src=[\'"]([^\'"]+?)[\'"].*?>/msi', $item->get_content(), $matches)){ $first_img = $matches[1]; } ?> <img src="<?php echo esc_attr($first_img); ?>" width="alt" height="100"> <p><?php echo $item->get_title(); ?></p> </a> </li> <?php $counter++; endif; endforeach; ?> </ul> </div>

上記の通り、解決しました。

投稿2017/09/04 08:09

hrn

総合スコア17

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問