0

ショートコードを利用して必要なものを出力するカスタムWordpressプラグインを作成しようとしています。このテキストコードでは、rssファイルを読み取って、上位5つのフィードのリストだけを吐き出そうとしています。

これ$shownoはショートコード変数の1つなので、次を使用できます[player show=foo snowno=5]。サンプルコード$showでは使用されていません。

以下のコードは、フィードリストの最新のアイテムのみを示しています。に変更するreturnecho、ショートコードを入力した場所ではなく、投稿の上部に表示されることを除いて、期待どおりに機能します。私はこれに対する答えを探しました、そして提供された解決策は私がした単純な「リターンを使う」でした...

アドバイスに感謝します。ありがとう

include_once(ABSPATH . WPINC . '/rss.php');         

$num_items = $showno;
$feedurl = 'http://feeds.bbci.co.uk/news/rss.xml';
$feed = fetch_rss($feedurl);
$items = array_slice ($feed->items, 0, $num_items); 

foreach ($items as $item ) {
  $title = $item[title];
  $mp3link   = $item[link];
  $description  =  $item[description];
  return "<li>$title - $description</li>";  
}     
4

1 に答える 1

1

ショートコードはエコーせずに返す必要があります。

コードでは、の実行を中断しforeach、最初の値を返しています。

文字列変数を作成し、foreachループの後にそれを返す必要があります。これにより、すべてのループが含まれます。例:

$final_html = '';
foreach( $items as $item )
{
    $final_html .= "<li>$title - $description</li>"; 
}
return $final_html;
于 2013-02-09T23:23:46.077 に答える