Hinzufügen von 2 CPT mit mehreren benutzerdefinierten Taxonomien zu Permalinks

Ich habe zwei benutzerdefinierte Post-Typen mit hierarchischen benutzerdefinierten Taxonomien, die ich meiner Permalink-Struktur hinzufügen möchte.

Ich möchte das erreichen:

http://example.com/cpt1//%region%//%country%/%state%/%city%/%postname%/ 

und das:

 http://example.com/cpt2//%region%//%country%/%city%/%postname%/ 

Der 'state' -Teil des Permalinks für CPT1 sollte im Idealfall nur gedruckt werden, wenn die 'region' Nordamerika entspricht.

Zum Beispiel ist die benutzerdefinierte Taxonomie für die Region:

 $labels = array( 'name' => _x( 'Regions', 'taxonomy general name' ), 'singular_name' => _x( 'Region', 'taxonomy singular name' ), 'search_items' => __( 'Search Regions' ), 'all_items' => __( 'All Regions' ), 'parent_item' => __( 'Parent Region' ), 'parent_item_colon' => __( 'Parent Region:' ), 'edit_item' => __( 'Edit Region' ), 'update_item' => __( 'Update Region' ), 'add_new_item' => __( 'Add New Region' ), 'new_item_name' => __( 'New Region Name' ), 'menu_name' => __( 'Regions' ), ); register_taxonomy( 'region', array( 'jazz club', 'jazz festivals' ), array( 'hierarchical' => true, 'labels' => $labels, 'show_ui' => true, 'show_admin_column' => true, 'query_var' => true, 'rewrite' => array( 'slug' => 'region' ), ) ); 

Ich habe das versucht, um die Taxonomie der 'city' zu testen und in die Permalink-Generation einzuhaken, endete aber mit einer Reihe von Fehlern:

 add_filter( 'post_link', 'city_permalink', 10, 3 ); add_filter( 'post_type_link', 'city_permalink', 10, 3 ); function city_permalink( $permalink, $post_id, $leavename ) { if ( strpos( $permalink, '%city%' ) === FALSE ) return $permalink; $post = get_post( $post_id ); if ( ! $post ) return $permalink; $terms = wp_get_object_terms( $post->ID, 'city' ); if ( ! is_wp_error( $terms ) && ! empty( $terms ) && is_object( $terms[0] ) ) $taxonomy_slug = $terms[0]->slug; else $taxonomy_slug = 'no-city'; return str_replace( '%city%', $taxonomy_slug, $permalink ); } 

Kann der Filter für mehrere benutzerdefinierte Taxonomien verwendet werden? Eigentlich bin ich mir nicht sicher, ob der Filter aufgrund der Fehler überhaupt korrekt ist.

Solutions Collecting From Web of "Hinzufügen von 2 CPT mit mehreren benutzerdefinierten Taxonomien zu Permalinks"