フィードに別のパラメーターを追加するプラグインに取り組んでいます。URL に numberOfItems を追加すると、フィードはその数の記事を返します。フィードはアイテム数の異なる他の Web サイトに追加されるため、WP Admin の組み込みオプションを使用したくありません。少し複雑です。ポイントは、この実装が必要なことです。私は次のようなものを追加しました
function _my_custom_option( $option )
{
global $wp_query, $wp_rewrite;;
remove_filter( 'pre_option_posts_per_rss', '_my_custom_option' );
//$number = get_query_var('number');
$number = $wp_query->query_vars['numberOfItems'];
if(isset($number))
$option = $number;
else
$option = 10;
//$wp_rewrite->flush_rules();
add_filter( 'pre_option_posts_per_rss', '_my_custom_option' );
return $option;
}
add_filter( 'pre_option_posts_per_rss', '_my_custom_option' );
paged = 2を追加すると機能するため、フィードは何らかの形でキャッシュされ、アイテムの数で生成されないようです。しかし、page=2 numberOfItems を別の番号に変更しても、変更されません。さらに、キャッシュされているかどうかを確認するためだけに、wp-includes >feed-rss2.php にジャンク テキストを追加しました。最初の 2 ~ 3 ページの更新後は表示されません。
正直なところ、私は立ち往生しています。これにアプローチする方法がわかりません。ワードプレスのコードを見てきましたが、キャッシュがどこで行われているかわかりません。