Permalinks funktionieren nicht für benutzerdefinierte Taxonomie für benutzerdefinierten Posttyp

Ich habe einen benutzerdefinierten Beitragstyp wie folgt registriert:

register_post_type( 'gs_business_listings', array( 'labels' => array( 'name' => __( 'Local Businesses' ), 'singular_name' => __( 'Local Businesses' ) ), 'public' => true, 'taxonomies' => array( 'category', 'gs_business_listing_region' ), 'has_archive' => true, 'supports' => array('title', 'editor', 'thumbnail', 'revisions'), 'register_meta_box_cb' => array($this,'add_meta_boxes'), 'rewrite' => array('slug'=> apply_filters('goosesoft-coupons-archive-url', 'local-businesses')) ) ); 

und für diesen benutzerdefinierten Posttyp habe ich eine benutzerdefinierte Taxonomie, die wie folgt registriert wird:

 register_taxonomy( 'gs_business_listing_region', 'gs_business_listings', array( 'labels' => array( 'name' => 'Regions', 'singular_name' => 'Region', ), 'rewrite' => array( 'slug' => 'region', 'hierarchical' => true ), 'hierarchical' => true, 'has_archive' => true, ) ); 

Dies funktioniert auf der Admin-Seite. Alles ist wie erwartet. Regions werden im Untermenü Local Businesses angezeigt. Ich kann die Regionen für einen bestimmten Beitrag speichern.

Aber Permalinks funktionieren nicht für die Taxonomien. Was ich brauche, scheint ziemlich geradlinig zu sein und wäre das, was ich von Standardverhalten erwarte. Ich brauche die Taxonomie-URL als www.example.com/region/a-region in der die a-region eine der Taxonomien ist. Aber wenn ich zu einer URL gehe, funktioniert das nicht. Noch verwirrender ist, dass get_term_link() eine URL in genau diesem Format zurückgibt, aber ich erhalte einen 404 Fehler auf dem get_term_link() Link, der zurückkommt.

Was könnte ich vermissen?

Solutions Collecting From Web of "Permalinks funktionieren nicht für benutzerdefinierte Taxonomie für benutzerdefinierten Posttyp"

Es war nichts falsch mit meinem Code oben. Ich habe die Antwort am Ende der Taxonomieseite im Codex gefunden :

Wenn Ihre Website benutzerdefinierte Permalinks verwendet, müssen Sie Ihre Permalink-Struktur leeren, nachdem Sie Änderungen an Ihren Taxonomien vorgenommen haben. Andernfalls wird möglicherweise der Fehler “Seite nicht gefunden” angezeigt. Deine Permalink-Struktur wird automatisch gelöscht, wenn du in deinem WordPress-Dashboard auf Einstellungen> Permalinks klickst.

In meinem Plugin hatte ich bereits flush_rewrite_rules(); Ich wurde zur Deaktivierung aufgefordert, und ich hatte es mehrmals deaktiviert und reaktiviert. Die Tatsache, dass das nicht funktioniert hat, hat mich wirklich auf eine Schleife gebracht.

Aber sobald ich Setting > Permalinks habe, hat alles richtig funktioniert!