您可以添加自定义query variables 使用WordPressadd_query_var()
.
global $wp;
$wp->add_query_var( \'includes\' );
添加了查询变量后,您将检查是否通过
get_query_var(\'includes\')
, 那么你可以使用
WP_Query()
获取页面(您可以查看可用的参数
here).
如果省略了它,您只需运行一个查询来获取页面的所有子级。
另一个很好的补充是使用add_rewrite_rules
.
function custom_query_var() {
global $wp;
add_rewrite_rule( \'^books/(.+)\', \'index.php?pagename=books&includes=$matches[1], \'top\' );
}
add_action( \'init\', \'custom_query_var\' );
如果切换到其他主题,则需要刷新这些规则。
function flush_custom_query_var() {
flush_rewrite_rules();
}
add_action( \'after_theme_switch\', \'flush_custom_query_var\' );
在传递一个参数数组而不是一个参数数组时,我实际上没有测试重写规则,因此需要进行一些修改。