<?php
/**
 * Covalba Core — intégration Polylang (i18n FR/EN/ES).
 *
 * Headless : Next.js possède les URLs. Polylang n'est utilisé que comme couche
 * de données — langue + traductions par post, exposées en GraphQL via le
 * connecteur wp-graphql-polylang. On déclare simplement quels types de contenu
 * et taxonomies Polylang doit gérer ; AUCUNE réécriture d'URL côté WP (les bases
 * de réécriture restent FR, Next mappe les URLs localisées via i18nRoutes).
 *
 * Codes langue NEUTRES : fr (défaut), en, es — jamais liés à un pays.
 *
 * Ces filtres ne se déclenchent que si Polylang est actif ; le fichier est donc
 * sans effet (et sans erreur) tant que le plugin n'est pas installé.
 */

defined('ABSPATH') || exit;

/** Types de contenu traduisibles (pages + articles + CPT Covalba). */
add_filter('pll_get_post_types', function (array $types, bool $is_settings): array {
    foreach (['page', 'post', 'produit', 'toiture', 'industrie', 'reference', 'lieu'] as $t) {
        $types[$t] = $t;
    }
    return $types;
}, 10, 2);

/** Taxonomies traduisibles. */
add_filter('pll_get_taxonomies', function (array $taxonomies, bool $is_settings): array {
    foreach (['secteur', 'type_support'] as $t) {
        $taxonomies[$t] = $t;
    }
    return $taxonomies;
}, 10, 2);
