WordPress Custom post type slug rewrite

Ich möchte einen benutzerdefinierten Posttyp-Slug umschreiben. Ich habe diesen Ausschnitt benutzt. aber nicht funktioniert.

add_filter( 'register_post_type_args', 'wpse247328_register_post_type_args', 10, 2 ); function wpse247328_register_post_type_args( $args ) { if ( 'stores' === $post_type ) { $args['rewrite']['slug'] = 'location'; } return $args; } 

Solutions Collecting From Web of "WordPress Custom post type slug rewrite"

Ich musste mich vor einiger Zeit mit einem ähnlichen Problem auseinandersetzen und habe es getriggers, indem ich diesem Leitfaden folgte .

Grundsätzlich müssen Sie zwei functionen ausführen: 1) Benutzerdefinierte WordPress Rewrite Rule und 2) Custom Post Type Link.

Die Rewrite Rule-function stellt sicher, dass der benutzerdefinierte Slug für Ihren CPT auf der gesamten Site korrekt gehandhabt wird. Und die zweite function stellt sicher, dass die URL wie gewünscht angezeigt wird – Sie können auch Taxonomy-Variablen hinzufügen, wenn Sie möchten. Wie auch immer, schauen Sie sich den Artikel an, da er mir sehr geholfen hat und ich hoffe, es hilft Ihnen auch.

Nur bei der Umschreibung Slug Aktion in Ihrem benutzerdefinierten Post-Typ-Code?

 $rewrite = array( 'slug' => 'Your-new-slug', 'with_front' => true, 'pages' => true, 'feeds' => true, ); 

Nach dem Quellcode, ist es offensichtlich wegen des fehlenden Arguments https://developer.wordpress.org/reference/hooks/register_post_type_args/ Fügen Sie einfach $post_type als zweiten Parameter zu Ihrer function hinzu

 add_filter( 'register_post_type_args', 'wpse247328_register_post_type_args', 10, 2 ); function wpse247328_register_post_type_args( $args, $post_type ) { if ( 'stores' === $post_type ) { $args['rewrite']['slug'] = 'location'; } return $args; } 

Eine weitere Sache: Bitte setzen Sie WP_DEBUG auf “True”, während Sie lokal arbeiten, um alle Warnungen zu sehen.