我有一个名为Area的自定义分类法,它的层次结构如下:
UK
- London
-- Chelsea
目前,我的permalink设置为这样重写:\'rewrite\' => array(\'slug\' => \'%area%/%something%\'
结果是:/Chelsea/Something
我想要的是它像这样出现:/UK/London/Chelsea/Something
我该怎么办?我有一个名为Area的自定义分类法,它的层次结构如下:
UK
- London
-- Chelsea
目前,我的permalink设置为这样重写:\'rewrite\' => array(\'slug\' => \'%area%/%something%\'
结果是:/Chelsea/Something
我想要的是它像这样出现:/UK/London/Chelsea/Something
我该怎么办?在slug的“有意义”url变量(城市、地区等)之前添加所需的值,如下所示:
"uk/([^/]*)/([^/]*)/?$" => \'index.php?city=$matches[1]&area=$matches[2]&something=$matches[3]\',
这样,如果“uk”在开头,它将只“捕获”那些URL变量(城市、地区)。更完整的示例可能如下所示
//Set up the additional values in the "rewrite rules" array
function my_rewrites($rules){
$new_rules = array(
//uk/London/Chelsea/
"uk/([^/]*)/([^/]*)/?$" => \'index.php?city=$matches[1]&area=$matches[2]\',
);
$new_rules = array_merge($new_rules, $rules);
return $new_rules;
}
add_filter(\'rewrite_rules_array\', \'my_rewrites\');
/**
* Add Rewrite Tags
*/
function my_rewrite_tags(){
//EG "London"
add_rewrite_tag(\'%city%\',\'([^/]*)\');
//EG "Chelsea"
add_rewrite_tag(\'%area%\',\'([^/]*)\');
}
add_action(\'init\', \'my_rewrite_tags\');
/**
* Use the information provided in the URL like this:
*/
function my_custom_function_which_does_stuff(){
global $wp_query;
if ( isset( $wp_query->query_vars[\'city\'] ) ){
//EG London
$city = $wp_query->query_vars[\'city\'];
//EG Chelsea
$area = $wp_query->query_vars[\'area\'];
}
}
add_action( \'init\', \'my_custom_function_which_does_stuff\' );
我希望有这样的结构:www.mysite.com/2013 (必须显示2013年的所有职位)www.mysite.com/my-category/2013 (必须显示2013年和“我的类别”类别的所有帖子)www.mysite.com/my-category/my-tag/ (必须显示所有类别为“我的类别”和标记为“我的标记”的帖子)www.mysite.com/my-category/ (必须显示“我的类别”类别的所有帖子)www.mysite.com/my-