web-dev-qa-db-fra.com

Comment rediriger une archive de type publication personnalisée vers le premier terme de la taxonomie associée?

J'ai un type de message personnalisé "pays" et une taxonomie "villes".

Mes villes sont: boston, new york ...

Je veux que mon archive-countries.php redirige vers la taxonomie du premier terme.

Je veux dire, si mon URL est www.example.com/countries cela devrait rediriger vers www.example.com/cities/boston.

Comment puis-je faire ceci?

2
user1443216

Si vous savez que vous chargez le bon modèle, redirigez-le vers votre premier terme de la taxonomie spécifiée:

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');

Références:

3
tfrommen