好了,孩子们,我们今天要利用一些很棒的WordPress功能。首先,让我们将自定义提要注册到add_feed
:
/**
* Register "my_feed".
*/
function wpse_226681_register_feed() {
// do_feed_rss() loads the default RSS template in WordPress
add_feed( \'my_feed\', \'do_feed_rss\' );
}
add_action( \'init\', \'wpse_226681_register_feed\' );
/**
* Handle content-type for "my_feed".
*/
function wpse_226282_feed_type( $type, $name ) {
if ( $name === \'my_feed\' )
$type = feed_content_type( \'rss2\' );
return $type;
}
add_filter( \'feed_content_type\', \'wpse_226282_feed_type\', 10, 2 );
。。。哪里
my_feed
是您的源的名称,即。
example.com/feed/my_feed
. 确保代码到位后刷新重写规则-只需在管理中重新保存永久链接设置。
接下来,我们需要覆盖自定义提要的默认查询-我们将使用date query 要在过去24小时内获取所有帖子,请执行以下操作:
function wpse_226681_feed_query( $wp_query ) {
if ( $wp_query->is_main_query() && $wp_query->is_feed( \'my_feed\' ) ) {
$wp_query->set( \'ignore_sticky_posts\', true );
$wp_query->set( \'posts_per_page\', -1 );
$wp_query->set( \'date_query\', [
\'after\' => date( \'Y-m-d H:i\', strtotime( \'-24 hours\' ) ),
]);
}
}
add_action( \'pre_get_posts\', \'wpse_226681_feed_query\' );