Правило переписывания Wordpress для дополнительной переменной запроса в представлении категории - PullRequest
1 голос
/ 27 октября 2011

Я настроил пользовательские типы записей, называемые ящиками, которые отлично работают и используют таксономию категорий по умолчанию.

Я написал get_query_var в верхней части моего category.php для обнаружения полей cp-type = вurl, и если это так, он отображает только сообщения в этой категории из пользовательских полей типа сообщений.

Это все работает нормально, но я хочу красивый URL

в идеале что-то вроде / boxes / category / fancy /

Я пытался использовать этот метод:

function my_rewrite_rules($rules)
{
    global $wp_rewrite;
    $my_rule = array(
        '^boxes/category/(.+)/' => '^category/' . $matches[1] . '?cp-type=boxes'
    );
    return array_merge($my_rule, $rules);
}
add_filter('page_rewrite_rules', 'my_rewrite_rules');

function my_query_vars($vars)
{
    $my_vars = array(
        'cp-type'
    );
    return array_merge($my_vars, $vars);
}
add_filter('query_vars', 'my_query_vars');

Все, что он делает, это бросает 404.

...