web-dev-qa-db-ja.com

カスタム投稿タイプアーカイブページのスラッグを書き換える方法

私は "ケーススタディ"と呼ばれるCPTを持っており、このcptのアーカイブページのスラッグはwww.my-domain.com/case-studiesであり、ctp投稿のスラッグはwww.my-domain.com/case-です。スタディ/ケーススタディ名。

今、SEOの目的のために、私はアーカイブページのスラッグを "紹介文 - ケーススタディ"に変更しなければならないので、 "ケーススタディ"アーカイブページのスラッグはwww.my-domain.com/testimonials-である必要がありますケーススタディや投稿のスラッグはwww.my-domain.com/case-studies/case-study-nameである必要があります(以前と同じ)。

これに対する最善の方法や解決策は何ですか?

私がこれまでに試したことは、

  • カスタムページテンプレートを作成し、そのページのスラッグを/ testimonials-case-studies /にリダイレクトし、/ case-studies /を/ testimonials-case-studies /に変更します。リダイレクトに問題があるため、case-study-nameは機能していません。

そして

  • 使用方法

    'rewrite' => array( 'slug' => '紹介文 - ケーススタディ'、 'with_front' => false)、

カスタム投稿タイプでは、投稿のスラッグはwww.my-domain.com/testimonials-case-studies/case-study-nameに変更されますが、ITは以下のようになります。www.my-domain.com/case-studies/ケーススタディ名

これに対する可能な解決策はありますか?

ありがとう、

1
andresgl

has_archiveを介して目的のアーカイブスラッグを渡します。

$args = array(
    'rewrite'     => array( 'slug' => 'case-studies' ),
    'has_archive' => 'testimonials-case-studies',
);
4
Milo