Taxonomy Rewrite Regeln Umleiten statt Maskieren

Ich habe einen benutzerdefinierten Post-Typ von Artikeln eingerichtet. Ich habe auch eine Taxonomie eingerichtet mit Elementen, die Kategorien genannt werden .

functionen.php Code:

regsiter_post_type('items', array('labels' => array ( 'name' => 'Items', 'singular_name' => 'Item' ), 'public' => true, 'rewrite' => array ( 'slug' => 'items' ), 'supports' => array ( 'title', 'excerpt', 'editor', 'comments', 'revisions', 'thumbnail' ), 'taxonomies' => array ( 'categories', 'tags' ) )); register_taxonomy ( 'categories', 'items', array('hierarchical' => true, 'label' => 'Item Categories', 'rewrite' => array ( 'slug' => 'categories', 'hierarchical' => ture ))); require 'rewrites.php'; // load rewrite class Rewrites::init(); // call init function in rewrite class 

rewrites.php code:

 class Rewrites { // Start class methods public static function init() { // Rewrite urls add_action ( 'generate_rewrite_rules', array( __CLASS__, 'rules' ) ); add_filter ( 'query_vars', array( __CLASS__, 'vars' ) ); } public static function rules ( $wp_rewrite ) { $new_rules = array(); $new_rules['categories/(.+?)/view/(.+)/?'] = 'index.php?categories=$matches[1]&view=$matches[2]'; return $new_rules + $wp_rewrite->rules; } // End class methods } 

Wenn man also Beiträge in der Taxonomie von Kategorien betrachtet, wäre die URL:

/ Kategorien /% Name_der_Taxonomie% /

Ich muss auch an die URL anhängen, um in query_vars hinzuzufügen

/ categories /% name_von_taxonomie% / view /% type_of_view% /

% type_of_view% wäre ein paar verschiedene Optionen. Liste, Raster usw.

Hier ist meine Rewrite-Regel:

 [categories/(.+?)/view/(.+)/?] => index.php?categories=$matches[1]&view=$matches[2] 

Aber wenn ich in die URL / categories /% name_of_taxonomy% / view / grid / gehe, leitet es zurück zu / categories /% name_of_taxonomy% /

Solutions Collecting From Web of "Taxonomy Rewrite Regeln Umleiten statt Maskieren"

Fand die Lösung. Die Umschreibungen wurden der database hinzugefügt, nachdem sie vom System aus der database gelesen wurden. Den Code verschoben und es hat funktioniert!