Ändern Sie den benutzerdefinierten Beitragstyp-Slug

Ich arbeite innerhalb eines untergeordneten Designs, sodass ich die Datei, die ein Portfolio-CPT registriert, nicht auf meiner Website bearbeiten möchte. Ich habe ein Plugin benutzt, um den Namen von Portfolio in Stories zu ändern, aber das Plugin gibt keine Option für den Slug.

Ich habe versucht, die folgende function zu verwenden:

function change_slug_of_post_type_portfolio() { register_post_type('portfolio', array('rewrite' => array ('slug' => 'stories',))); } add_action('init', 'change_slug_of_post_type_portfolio', 20); 

Aber es entfernt Portfolio vollständig aus der WordPress Admin-Sidebar.

Solutions Collecting From Web of "Ändern Sie den benutzerdefinierten Beitragstyp-Slug"

Der Filter register_post_type_args kann zum Ändern von Post-Typ-Argumenten verwendet werden:

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

@ dave-romsey antwort funktionierte nicht für mich, PHP sagte mir immer wieder Warning: Cannot use a scalar value as an array in /path/to/functions.php Also ging ich den array_merge Weg.

Vollständige function, die Sie zum Thema functions.php Ihres Kindes hinzufügen müssen:

 function update_portfolios_slug( $args, $post_type ) { if ( 'portfolios' === $post_type ) { //$args['rewrite']['slug'] = 'presidentes'; $my_args = array( 'rewrite' => array( 'slug' => 'presidentes', 'with_front' => false ) ); return array_merge( $args, $my_args ); } return $args; } add_filter( 'register_post_type_args', 'update_portfolios_slug', 10, 2 ); 

Nach dem Hochladen deines Codes vergiss nicht, deine Permalinks zu “aktualisieren”, indem du zu Einstellungen> Permalinks gehst und Änderungen speichern drückst .

Prost.