通过执行以下简单操作:
add_feed( \'schedule\', \'my_schedule_feed\' );
我已在创建了一个提要/feed/schedule/
... 容易的但当我去/schedule/
(这是一个页面)它现在正在显示提要!
看看重写规则,我看到了:
[feed/(feed|rdf|rss|rss2|atom|schedule)/?$] => index.php?&feed=$matches[1]
[(feed|rdf|rss|rss2|atom|schedule)/?$] => index.php?&feed=$matches[1]
这似乎真的很奇怪。为什么WordPress会用提要覆盖现有的页面规则,而不是只使用/feed/
是否按预期基准?Update: 我已经按照this answer, 和刷新永久链接,但虽然它显示在重写中,但在/feed/schedule/
function add_feed_rewrites( $wp_rewrite ) {
$feednames = array( \'schedule\', \'calendar\' );
$feeds = implode( \'|\', $feednames);
$feed_rule = array(
\'feed/(\' . $feeds . \')/?$\' => \'index.php?&feed=$matches[1]\'
);
$wp_rewrite->rules = array_merge( $wp_rewrite->rules, $feed_rule );
}
add_filter( \'generate_rewrite_rules\', \'add_feed_rewrites\' );
add_action( \'do_feed_schedule\', \'my_schedule\', 10, 2 );
add_action( \'do_feed_calendar\', \'my_calendar\', 10, 2 );
关于如何在没有最初冲突的情况下实现这一点,有什么想法吗?