web-dev-qa-db-fra.com

Obtenir les langues disponibles de Polylang sur la page d'administration de mon plugin

Je fais un plugin, et à l'intérieur de ma page d'administrateur (que j'ajoute par la fonction add_menu_page()), j'appelle cette fonction pll_the_languages(["raw" => 1])) mais elle ne renvoie rien, du côté client, son travail fonctionne bien. J'ai ajouté beaucoup de langues sur la page de paramétrage Polylang. Comment puis-je obtenir les langues disponibles de Polylang à partir d'une page d'administrateur?

2
Dahou

Selon Référence de fonction Polylangs , pll_the_languages

Affiche un sélecteur de langue.

Et très probablement, il utilise quelques CSS/JS supplémentaires pour fonctionner. Si vous souhaitez obtenir la liste des langues et les afficher avec votre code personnalisé, vous pouvez utiliser cette fonction à la place:

pll_languages_list($args);

et il retournera la liste des langues.

$ args est un paramètre de tableau facultatif. Les options sont:

  • 'Hide_empty' => masque les langues sans publication si elles sont définies sur 1 (valeur par défaut: 0)
  • ‘Fields’ => ne renvoie que ce champ s’il est défini. Les valeurs possibles sont ‘slug’, ‘locale’, ‘name’, par défaut ‘slug’
2
Krzysiek Dróżdż

Polylang offre la fonction pll_languages_list() mais notez que ceci ne renverra qu'un seul type de valeur slug.

Vous pouvez utiliser get_terms pour interroger toutes les langues avec le nom et le slug inclus.

get_terms( 'term_language', [ 'hide_empty' => false ] );
0
Libla