2017-07-10 21 views
0

Ich entwickle eine Website und ich registriert eine benutzerdefinierte Beitragstyp namens Buch und Taxonomie Genre dafür. Ich möchte ein Permanentlink sein wie www.mysite.com/genre_name/post_nameWordpress Permalinks Struktur taxonomy_termname/post_name

Code:

register_post_type('reviews', array(
    'label' => 'Books', 
    'description' => '', 
    'public' => true, 
    'show_ui' => true, 
    'show_in_menu' => true, 
    'capability_type' => 'page', 
    'hierarchical' => true, 
    'rewrite' => array('slug' => 'book'), 
    'query_var' => true, 
    'exclude_from_search' => false, 
    'supports' => array('title','editor','page-attributes', 'comments', 'author', 'revisions') 
    ) 
); 

Was soll ich tun? Jede Hilfe wäre willkommen.

+0

Bitte teilen Sie registrierten benutzerdefinierten Posttypcode –

+0

register_post_type ( \t 'Bewertungen', \t Array (\t \t \t 'label' => 'Bücher', \t \t 'description' => '', \t \t 'public' => true, \t \t 'show_ui' => true, \t \t 'show_in_menu' => true, \t \t ‚capability_type '=> 'Seite', \t \t 'hierarchisch'=> true, \t \t 'Rewrite'=> array (' Slug‘=> 'Buch'), \t \t 'query_var' => true, \t \t 'exclude_from_search' => false, \t \t 'unterstützt' => Array ( \t \t \t 'Titel', 'Editor', 'page-Attribute', 'Kommentare', 'Autor', 'Revisionen' \t \t) \t) ); –

+0

Update - Ich habe auch einen Handler erstellt, die eine bestimmte URL zurückgeben. Handler wird mit post_type_link registriert. Wenn ich die Seite besuche, wird die Seite nicht gefunden. –

Antwort

0

Ich habe einen Weg gefunden, indem ich einen benutzerdefinierten Handler für post_type_link und pre_get_posts erstellt habe.

Ich bereitete URL als meinen Client vor, der post_type_link erwartet.

Ich habe Rewrite-Regeln für jede Taxonomie Begriff ich wollte hinzugefügt. und lege die Regeln auf.

So funktioniert es.

1

Während benutzerdefinierte Post Art der Registrierung geben Sie dieses gegebene Argumente

'rewrite'   => array('slug' => 'genre_name'), 

dann Ihre Permalinks aktualisieren. Dadurch wird der Slug-Name anstelle des benutzerdefinierten Post-Typ-Namens geschrieben.

+0

kann "genre_name" wird dynamisch nach jedem Beitrag kommen? Es ist besser, den Genre-Namen anstelle des fest codierten Wortes "genre_name" zugewiesen zu haben. –

+0

Bro, ich habe diesen Code ausprobiert, er zeigt ein Standardwort in der URL. Können wir es dynamisch machen? –

Verwandte Themen