web-dev-qa-db-ja.com

WordPressは自分のRSSフィードを読むことができますか?

私はブログの静的フロントページを使用しています。そこにRSSフィードウィジェットを保持するためのウィジェットサイドバー領域を追加しました。フロントページに最新の2つまたは3つのブログ投稿の要約を表示したいのですが、RSSウィジェットが更新されないという問題があります。

たとえば、RSSウィジェット設定フィールド内では、RSSフィールドは "http://exampleblog.com/feed/"のようになります。 RSSフィードは、ウィジェットをアクティブにした後の最初の更新時に公開されますが、それ以降の新しい投稿では公開されません。新しい投稿では更新されません。

このサイトの質問の1つは、キャッシングと同様の問題が原因であり、私はWebサーバーでWP Cacheを使用しています。 WPキャッシュの無効化は役に立ちません。

簡単な手順が足りないようですが、Codexやこのサイトには何も記載されていません。

1
bbeeman

メインのWPループを修正したもので、投稿を表示するためにクエリループを使うほうがよいでしょう。この問い合わせループはメインのWPループを妨げることはなく、php実行が有効になっているサイドバーまたはポスト/ページで複数回使用できます。サイドバーにphpウィジェットを使用してください。 WordPress› PHP Code Widget"WordPressプラグイン

Mycategoryをカテゴリの名前に変更するか、すべて削除して削除します。そしてshowpostsをあなたが望む投稿の数に変更するか、-1を全部表示するようにします。出力をCSSスタイルにする必要があります。

<?php $my_query = new WP_Query('category_name=mycategory&showposts=1'); ?>

<?php while ($my_query->have_posts()) : $my_query->the_post(); ?>

<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>">

<?php the_title(); ?></a>

<?php the_excerpt(); ?>

<?php endwhile; ?>

また、 ループ"WordPress Codex および 関数リファレンス/ WP Query"WordPress Codex

2
markratledge

更新されないのは、 fetch_feed() 関数が独自の 一時的な )ベースのキャッシングで、デフォルトは12時間です。

wp_feed_cache_transient_lifetimeフィルタでキャッシュの有効期間の値を(グローバルに、または特定のフィードURLに対して)フィルタリングすることができますが、独自のコンテンツの場合はRSSを経由するより直接データにアクセスする方が確かに良いです。

これを自分でコーディングしたくない場合は、 Query Posts プラグインを試してください。

0
Rarst