サポート » テーマ » home.php内でのフィード表示に関して

  • 解決済 Yuuki_T

    (@yuuki_t)


    トピックのテーマが間違っていたら申し訳ございません。

    現在home.php内でニュースフィードを外部から読み込ませて
    表示を試みております。

    ——-
    <div id=”box”>
    <?php
    $rss = fetch_rss(‘http://example.com&#8217;);
    $maxitems = 1;
    $items = array_slice($rss->items, 0, $maxitems);

    if (empty($items)) {
    echo ‘No items’;
    }else{
    foreach ( $items as $item ) {
    ?>
    <!–news–>
    <div id=”date”>
    <? echo $item[‘pubdate’]; ?>

    <div id=”ns_title”>
    <img src=”<?php bloginfo(‘stylesheet_directory’); ?>/gazou/site_sam.jpg” alt=”news” hspace=”10″ align=”top” />” target=”_blank”><? echo $item[‘title’]; ?>
    </div>

    <? echo home_the_excerpt($item[‘summary’]); ?>
    </div>

    <div id=”readmore”>
    ” target=”_blank”>
    <img src=”<?php bloginfo(‘stylesheet_directory’); ?>/gazou/sankaku_s.jpg” alt=”Read More” hspace=”10″ />Read More

    </div>
    ——-

    ここまでを<hr />で区切ってもう一つ別のURLのフィードを持ってこようと考えています。
    その際に上記ソースをもう一つ単純に追加してもうまくいかないと思うのですが、
    どういう風にすればよろしいでしょうか?

    どなたか教えて下さい。
    何卒よろしくお願い致します。

12件の返信を表示中 - 1 - 12件目 (全12件中)
  • 効率や可視性の話は別として、なぜにもう1つ書いてもうまくいかないと思われますか?
    それと、「code」を使ってください。
    正しくソースが伝わりません。

    トピック投稿者 Yuuki_T

    (@yuuki_t)

    実際に二つ並べてみたところ、一つ目の

    $rss = fetch_rss('http://example.com_1');

    を拾ってきてしまい、二つ目が無視されます。

    「code」はこちらでよろしいでしょうか?
    何卒よろしくお願い致します。

    <div id="box">
    <?php
    $rss = fetch_rss('http://example.com');
    $maxitems = 1;
    $items = array_slice($rss->items, 0, $maxitems);
    
    if (empty($items)) {
    echo 'No items';
    }else{
    foreach ( $items as $item ) {
    ?>
    <!--news-->
    <div id="date">
    <? echo $item['pubdate']; ?>
    
    <div id="ns_title">
    <img src="<?php bloginfo('stylesheet_directory'); ?>/gazou/site_sam.jpg" alt="news" hspace="10" align="top" />" target="_blank"><? echo $item['title']; ?>
    </div>
    
    <? echo home_the_excerpt($item['summary']); ?>
    </div>
    
    <div id="readmore">
    " target="_blank">
    <img src="<?php bloginfo('stylesheet_directory'); ?>/gazou/sankaku_s.jpg" alt="Read More" hspace="10" />Read More

    予想で書くのは的がはずれることが多いので、もう一度質問します。

    " target="_blank">
    というのがゴミなのか、コピペミスなのか。

    また

    else{
        foreach ( $items as $item ) {

    が閉じていません。

    トピック投稿者 Yuuki_T

    (@yuuki_t)

    " target="_blank">

    はゴミと捉えて下さい。

    else{
        foreach ( $items as $item ) {

    こちらを閉じれば単純にソースをもう一つ追加すれば大丈夫なのでしょうか?また、その際は方法を教えて頂けると幸いでございます。

    include_once(ABSPATH . WPINC . '/rss.php');
    $rss = fetch_rss('http://www.outbreak2000.com/feed');
    $items[$key] = array_slice($rss->items, 0, 1);
    var_dump($items);
    $rss = fetch_rss('http://ja.forums.wordpress.org/rss/');
    $items[$key] = array_slice($rss->items, 0, 1);
    var_dump($items);

    これだけでも1件づつ表示できましたけどね。どこかに間違いがあるんだと思いますよ。実際に動かしているコードを提示するのが解決が早いです;)

    トピック投稿者 Yuuki_T

    (@yuuki_t)

    <div id="news">
    				<div id="box">
    					<?php
    						$rss = fetch_rss('http://example.com');
    						$maxitems = 1;
    						$items = array_slice($rss->items, 0, $maxitems);
    
    						if (empty($items)) {
    							 echo 'No items';
    						}else{
    							foreach ( $items as $item ) {
    					?>
    				<!--news-->
    					<div id="date">
    						<? echo $item['pubdate']; ?>
    
    					<div id="ns_title">
    						<img src="<?php bloginfo('stylesheet_directory'); ?>/gazou/site.jpg" alt="news" hspace="10" align="top" /><a href="<? echo $item['link']; ?>" target="_blank"><? echo $item['title']; ?></a>
    					</div>
    
    						<? echo home_the_excerpt($item['summary']); ?>
    					</div>
    
    					<div id="readmore">
    						<a href="<? echo $item['link']; ?>" target="_blank">
    							<img src="<?php bloginfo('stylesheet_directory'); ?>/gazou/a.jpg" alt="Read More" hspace="10" />Read More
    						</a>
    					</div>
    
    					<hr />
    					<?php } ?>
    
                        <?php
    						$rss = fetch_rss('http://example2.com');
    						$maxitems = 1;
    						$items[$key] = array_slice($rss->items, 0, $maxitems);
    
    						if (empty($items)) {
    							 echo 'No items';
    						}
    					?>
    				<!--news-->
    					<div id="date2">
    						<? echo $item['pubdate']; ?>
    
    					<div id="ns_title2">
    						<img src="<?php bloginfo('stylesheet_directory'); ?>/gazou/site.jpg" alt="news" hspace="10" align="top" /><a href="<? echo $item['link']; ?>" target="_blank"><? echo $item['title']; ?></a>
    					</div>
    
    						<? echo home_the_excerpt($item['summary']); ?>
    					</div>
    
    					<div id="readmore2">
    						<a href="<? echo $item['link']; ?>" target="_blank">
    							<img src="<?php bloginfo('stylesheet_directory'); ?>/gazou/aa.jpg" alt="Read More" hspace="10" />Read More
    						</a>
    					</div>
    
    					<hr />
                      	<?php } ?>
    
                    </div>
    			</div>

    shokun0803 さま
    ありがとうございます。
    実際のコードはこんな感じです。
    2つめがうまく表示されません。

    修正箇所等御教授下さい。
    何卒よろしくお願い致します。

    いきなり全部提示したのでいいのか、不具合箇所をなおす、というアドバイスがいいのかわからないのですが、とりあえずおかしいと思われる部分。

    ・最初のフィードを表示するループの中に、次のフィードが出てきてしまっている。
    ・2番目のフィードに対してのループが無い

    1.1回目のフィードを読む
    2.ループを完結する
    3.2回目のフィードを読む
    4.ループを完結する

    というのでヒントですかね。

    トピック投稿者 Yuuki_T

    (@yuuki_t)

    kvexさま

    ありがとうございます。
    2、3に関して、どこにどういったコードを入れればいいか御教授頂けませんでしょうか?

    初心者の稚拙な質問で大変恐縮ですが何卒よろしくお願い致します。

    未検証ですが

    <div id="news">
    	<div id="box">
    
    		<?php
    		/* ここからはじまって */
    			$rss = fetch_rss('http://example.com');
    			$maxitems = 1;
    			$items = array_slice($rss->items, 0, $maxitems);
    
    			if (empty($items)) {
    				 echo 'No items';
    			}else{
    				foreach ( $items as $item ) {
    		?>
    	<!--news-->
    		<div id="date">
    			<? echo $item['pubdate']; ?>
    
    			<div id="ns_title">
    			<img src="<?php bloginfo('stylesheet_directory'); ?>/gazou/site.jpg" alt="news" hspace="10" align="top" /><a href="<? echo $item['link']; ?>" target="_blank"><? echo $item['title']; ?></a>
    			</div>
    
    			<? echo home_the_excerpt($item['summary']); ?>
    		</div>
    
    		<div id="readmore">
    			<a href="<? echo $item['link']; ?>" target="_blank">
    				<img src="<?php bloginfo('stylesheet_directory'); ?>/gazou/a.jpg" alt="Read More" hspace="10" />Read More
    			</a>
    		</div>
    			<?php } ?>
    		<?php } ?>
    		<?php /* ここまでが一つのループです */ ?>
    
    	</div>
    </div>

    ループの固りをコメントしておきました。

    トピック投稿者 Yuuki_T

    (@yuuki_t)

    kvexさま

    大変ありがとうございます。
    <?php } ?>までが一つのループで、そのループを終わらせて次のループをはじめればいいという事は分かったのですが、end的なものなのか、どういったコードを入れればよいのかお手すきの際に御教授頂けると幸いです。
    次のループに入るコードも何卒よろしくお願い致します。

    本来は配列にでもして、2回まわすほうがよいのかもしれませんし、1回目と2回目は違う処理をしたいのかもしれないのですが。
    とりあえず同じことを2回やってます。

    <div id="news">
    	<div id="box">
    
    		<?php
    		/* ここからはじまって */
    			$rss = fetch_rss('http://example.com');
    			$maxitems = 1;
    			$items = array_slice($rss->items, 0, $maxitems);
    
    			if (empty($items)) {
    				 echo 'No items';
    			}else{
    				foreach ( $items as $item ) {
    		?>
    	<!--news-->
    		<div id="date">
    			<? echo $item['pubdate']; ?>
    
    			<div id="ns_title">
    			<img src="<?php bloginfo('stylesheet_directory'); ?>/gazou/site.jpg" alt="news" hspace="10" align="top" /><a href="<? echo $item['link']; ?>" target="_blank"><? echo $item['title']; ?></a>
    			</div>
    
    			<? echo home_the_excerpt($item['summary']); ?>
    		</div>
    
    		<div id="readmore">
    			<a href="<? echo $item['link']; ?>" target="_blank">
    				<img src="<?php bloginfo('stylesheet_directory'); ?>/gazou/a.jpg" alt="Read More" hspace="10" />Read More
    			</a>
    		</div>
    			<?php } ?>
    		<?php } ?>
    		<?php /* ここまでが一つのループです */ ?>
    
    		<?php
    		/* 2つめは、ここからはじまって */
    			$rss = fetch_rss('http://example2.com');
    			$maxitems = 1;
    			$items = array_slice($rss->items, 0, $maxitems);
    
    			if (empty($items)) {
    				 echo 'No items';
    			}else{
    				foreach ( $items as $item ) {
    		?>
    	<!--news-->
    		<div id="date2">
    			<? echo $item['pubdate']; ?>
    
    			<div id="ns_title2">
    			<img src="<?php bloginfo('stylesheet_directory'); ?>/gazou/site.jpg" alt="news" hspace="10" align="top" /><a href="<? echo $item['link']; ?>" target="_blank"><? echo $item['title']; ?></a>
    			</div>
    
    			<? echo home_the_excerpt($item['summary']); ?>
    		</div>
    
    		<div id="readmore2">
    			<a href="<? echo $item['link']; ?>" target="_blank">
    				<img src="<?php bloginfo('stylesheet_directory'); ?>/gazou/a.jpg" alt="Read More" hspace="10" />Read More
    			</a>
    		</div>
    			<?php } ?>
    		<?php } ?>
    		<?php /* ここまでが二つめのループです */ ?>
    
    	</div>
    </div>
    トピック投稿者 Yuuki_T

    (@yuuki_t)

    kvexさま

    試してみたところ無事解決いたしました。
    ご丁寧に大変ありがとうございました。

12件の返信を表示中 - 1 - 12件目 (全12件中)
  • トピック「home.php内でのフィード表示に関して」には新たに返信することはできません。