Cum să rescrii slug-ul paginii de arhivă pentru un custom post type

5 iul. 2018, 19:03:18
Vizualizări: 15.2K
Voturi: 5

Am un CPT numit "case-studies" iar slug-ul paginii de arhivă pentru acest CPT este www.my-domain.com/case-studies, iar slug-ul posturilor CPT este www.my-domain.com/case-studies/case-study-name.

Din motive de SEO, trebuie să schimb slug-ul paginii de arhivă la "testimonials-case-studies", astfel încât URL-ul pentru arhiva "case-studies" să devină www.my-domain.com/testimonials-case-studies/, iar URL-urile posturilor să rămână www.my-domain.com/case-studies/case-study-name (la fel ca înainte).

Care este cea mai bună soluție pentru această problemă?

Ce am încercat până acum:

  • am creat un șablon de pagină personalizat și am schimbat slug-ul paginii la /testimonials-case-studies/ cu redirecționare de la /case-studies/ către /testimonials-case-studies/, dar posturile www.my-domain.com/case-studies/case-study-name nu funcționează din cauza unei probleme cu redirecționarea.

  • Am folosit:

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

În registrarea custom post type-ului, DAR slug-ul pentru posturi se schimbă la www.my-domain.com/testimonials-case-studies/case-study-name când TREBUIE să rămână: www.my-domain.com/case-studies/case-study-name

Există vreo soluție posibilă pentru această problemă?

0
Toate răspunsurile la întrebare 1
2
17

Treceți slug-ul dorit pentru arhivă prin has_archive:

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

Poate fi necesar să folosești unregister_post_type() chiar înainte de a-l înregistra din nou, pentru ca WordPress să accepte modificarea.

WebElaine WebElaine
5 iul. 2018 19:11:29

Da! Mulțumesc mult! https://codex.wordpress.org/Function_Reference/register_post_type#has_archive

andresgl andresgl
6 iul. 2018 11:14:05