因此,首先,不要在每次加载页面时刷新重写规则。最好只激活一次插件。
步骤1:添加重写规则:
add_action( \'init\', \'wpse26555_add_rewrite\' );
function wpse26555_add_rewrite()
{
// You should probably rewrite to index.php instead of shop.php?
add_rewrite_rule( \'/shop/brand/([^/]+)/?$\', \'index.php?brand=$matches[1]\', \'top\' );
}
步骤2:添加查询变量
add_filter( \'query_vars\', \'wpse26555_add_vars\' );
function wpse26555_add_vars( $vars )
{
$vars[] = \'brand\';
return $vars;
}
然后在插件激活时刷新(因为类似的内容可能应该在插件文件中)。
<?php
// Somewhere in your plugin\'s main file
register_activation_hook( __FILE__, \'wpse26555_activation\' );
function wpse26555_activation()
{
// Add the rule first
wpse26555_add_rewrite();
// Then flush rewrite rules
flush_rewrite_rules();
}
然后在前端可以执行以下操作:
if( $brand = get_query_var( \'brand\' ) )
{
// Do stuff with $brand here
}
也许更好的策略是将品牌改写为特定页面?或者品牌可能是某种自定义分类法?
你必须测试上面的代码,这是我不知道的,但它应该可以工作,或者至少可以让你开始