Come modificare lo slug della pagina archivio di un custom post type

5 lug 2018, 19:03:18
Visualizzazioni: 15.2K
Voti: 5

Ho un CPT chiamato "case-studies" e lo slug della pagina archivio di questo CPT è www.my-domain.com/case-studies, mentre lo slug dei singoli post del CPT è www.my-domain.com/case-studies/case-study-name.

Per motivi SEO, devo cambiare lo slug della pagina archivio in "testimonials-case-studies", quindi lo slug per l'archivio "case-studies" deve diventare www.my-domain.com/testimonials-case-studies/, mentre gli slug dei singoli post devono rimanere www.my-domain.com/case-studies/case-study-name (uguali a prima).

Qual è la soluzione migliore per ottenere questo risultato?

Quello che ho provato finora:

  • Creare un template di pagina personalizzato e cambiare lo slug della pagina in /testimonials-case-studies/ con un redirect da /case-studies/ a /testimonials-case-studies/, ma i singoli post www.my-domain.com/case-studies/case-study-name smettono di funzionare a causa di problemi con il redirect.

  • Usando:

    'rewrite' => array(
        'slug' => 'testimonials-case-studies',
        'with_front' => false
    ),
    

Nel custom post type, MA così lo slug dei singoli post cambia in www.my-domain.com/testimonials-case-studies/case-study-name mentre DEVE rimanere: www.my-domain.com/case-studies/case-study-name

Esiste una soluzione possibile per questo problema?

0
Tutte le risposte alla domanda 1
2
17

Passa lo slug desiderato per l'archivio tramite has_archive:

$args = array(
    'rewrite'     => array( 'slug' => 'case-studies' ),
    'has_archive' => 'testimonials-case-studies',
);
5 lug 2018 19:08:36
Commenti

Potresti anche aver bisogno di unregister_post_type() subito prima di registrarlo nuovamente, per fare in modo che WordPress accetti la modifica.

WebElaine WebElaine
5 lug 2018 19:11:29