web-dev-qa-db-ja.com

カスタム投稿タイプのアーカイブを関連する分類法の最初の用語にリダイレクトする方法

カスタムの投稿タイプが「国」、分類法が「都市」です。

私の街は:ボストン、ニューヨーク...

私のarchive-countries.phpを最初の学期の分類法にリダイレクトしてほしい。

つまり、私のURLがwww.example.com/countriesの場合、これはwww.example.com/cities/bostonにリダイレクトされます。

これどうやってするの?

2
user1443216

正しいテンプレートを読み込んでいることがわかっている場合は、指定した分類法の最初の用語にリダイレクトします。

function wpse_135306_redirect() {
    $cpt = 'countries';
    if (is_post_type_archive($cpt)) {
        $tax = 'cities';
        $args = array(
            'orderby' => 'id', // or 'name' or whatever
        );
        $cities = get_terms($tax, $args);
        if (count($cities)) {
            wp_redirect(get_term_link(reset($cities), $tax));
            exit();
        }
    }
} // function wpse_135306_redirect
add_action('template_redirect', 'wpse_135306_redirect');

参考文献

3
tfrommen