Fixing custom rewrite rule

时间:2011-01-24 作者:Evan Yeung

我正在跟踪WP Example. 我知道我的重写规则正在添加到wordpress中,所以我只需要修复实际的规则。下面是我当前的代码:

add_filter(\'rewrite_rules_array\',\'mcs_TextbookRewriteRules\');
add_filter(\'query_vars\',\'mcs_insertTextbookQueryVars\');

// Adding a new rule
function mcs_TextbookRewriteRules($rules) {
    $newrules = array();
    $newrules[\'textbook/(cantonese|mandarin)/([C|M]K?[0-9]+)/([0-9]+)$\'] = \'index.php?pagename=textbook/$matches[1]/?cls=$matches[2]&ch=$matches[3]\';
    //$newrules[\'textbook/(cantonese|mandarin)/([C|M]K?[0-9]+)/([0-9]+)$\'] = \'textbook/$matches[1]/index.php?cls=$matches[2]&ch=$matches[3]\';
    return $newrules + $rules;
}

// Adding the id var so that WP recognizes it
    function mcs_insertTextbookQueryVars($vars) {
    array_push($vars, \'cls\');
    array_push($vars, \'ch\');
    return $vars;
}
我想映射http://localhost/wordpress/textbook/cantonese/CK1/6http://localhost/wordpress/textbook/cantonese/?cls=CK1&ch=6

1 个回复
最合适的回答,由SO网友:Jan Fabry 整理而成

我看到了第二个? 在查询变量中(在cls 查询变量),可能是在尝试注释掉的表单时,我想您应该使用& 那里

你的query_vars 挂钩当前添加id 变量,但您使用clsch 在重写规则中,所以这不会产生影响。

如果要更改重写规则,我建议my rewrite analyzer plugin (很快在存储库中,but get the current version via Dropbox), 它可以帮助您调试这些东西。

结束

相关推荐