Tous les articles par Michel

Mise à jour de xili-language en version 2.18

La version 2.18 de xili-language inclut des corrections et la disparition de l’extension destinée aux utilisateurs de bbPress en mode multilingue.

  • xl-bbp-addon n’est plus une extension mais des modules activables si bbPress est présent,
  • correction: ajoute bien la classe ‘menu-item-has-children’ dans les menus générés par le sélecteur de menu selon la langue (comme dans twentyfourteen / twentyfifteen où l’on voit apparaître le petit triangle en cas de sous-menu),
  • correction: propagation des propriétés corrigée (post_format) – à noter que les réglages de cette propagation pré-traduction est réglable par le concepteur du thème,
  • meilleur réglage de la langue du tableau de bord selon chaque utilisateur (merci à Renoir de Montréal),
  • menu déroulant des langues affichant la valeur de base – get_option(‘WPLANG’) – (et non la valeur filtrée par l’utilisateur).
  • filtre ajouté pour la future version 2.0 de xili-theme select.

M.

xili-language version 2.17.x tout prête pour WordPress 4.2

Le ‘WordPress Core team’ disait : We’ve pushed the scheduled release (WP 4.2) date by a day due to the 4.1.2 security release that went out on Tuesday morning.

xili-language version 2.17.x est prête avec quelques améliorations pour WordPress 4.2 “Powell”

  • possibilité de choisir les widgets actifs dont le tout dernier sur les catégories.
  • compatibilité plus poussée avec l’extension WP JSON REST API v. 1.2.1 toujours en développement.
  • corrections et sécurité
    -…

M.

Bientôt WP 4.2 : Mise à jour de maintenance pour la trilogie xili-language !

WordPress 4.2-beta est en ligne depuis quelques jours. Les trois extensions de la trilogie xili-language sont donc vérifiées. Quelques améliorations de confort sont aussi introduites. Les détails sont dans l’onglet “changelog” du dépôt de chacune des extensions

  • xili-language : version 2.16.4
    – Il y a maintenant la possibilité de définir des drapeaux spécifiques pour le côté admin. Le widget catégorie doit être activé via le 5e onglet. Ceux inutilisés peuvent être décochés.
  • xili-tidy-tags : version 1.10.2 (changement de version de la bibliothèque JS/CSS des tables complexes utilisés dans l’écran des affectations.)
  • xili-dictionary : version 2.10.3 (changement de version de la bibliothèque JS/CSS des tables complexes utilisés dans les listes interactives de msg (outils).)
    – amélioration du contrôle de l’adjonction d’un context de msgid – importe les termes qu’ajoute le nouveau template tag get_the_archive_title dans les listes de termes du dictionnaire.

Un rappel : les images affectées comme “drapeau” ajoutés dans la bibliothèque Médias peuvent avoir les formats png et jpg mais aussi gif ! De même pas besoin de formatter le nom. xili-language se charge de bien affecter l’image à la langue que vous avez donnée.

Comme toujours, les contributeurs sont la bienvenue pour apporter des éléments pour enrichir la documentation.

xili-language version 2.16.3 : quelques corrections et des préparations pour 2.17

Huit jours après la précédente, la mise de maintenance 2.16.3 corrige quelques messages (php notice) apparaissant dans de rares circonstances.
La liste des widgets s’enrichit d’un widget pour l’affichage correcte du dénombrement des catégories selon la sous-sélection liée à la langue courante. L’affichage des nombres a nécessité un nouveau ‘walker’ et de cache associé. Ce widget doit être (pour le moment) enregistré par l’auteur du thème. Bien sûr, comme il s’agit d’un nouveau widget dénommé ©xili Categories, vous devez l’activer via le menu Apparance/Widgets (et donc supprimer celui que vous aviez installé précédemment Categories widget) 😉
exemple de code à ajouter dans functions.php

// ...inside function twentyfifteen_xilidev_setup - at end of condition if xili-language exists (to avoid error if desactivated)
add_action( 'widgets_init', 'twentyfifteen_xili_add_widgets' );
// ...
}
add_action( 'after_setup_theme', 'twentyfifteen_xilidev_setup', 11 );

function twentyfifteen_xili_add_widgets () {
    register_widget( 'xili_Widget_Categories' ); // in xili-language-widgets.php since 2.16.3
}

Le widget “Archives” (qui donne les archives selon un tri mensuel) lui aussi affiche des mois corrects selon la langue s’il y a des archives. Pour vider le cache précédent, il est conseillé d’ajouter un article.

Mise à jour de maintenance pour la trilogie xili-language !

Les trois extensions pour gérer un site multilingue ont été mises à jour :

  • xili-language : version 2.16.2 (corrige une alerte si les catégories sont affichées en mode “dropdown” )
  • xili-tidy-tags : version 1.10.1 (nettoyage du code source en cours)
  • xili-dictionary : version 2.10.1 (ajout de la possibilité de gérer les fichiers po/mo dans le dossier WP_LANG_DIR – wp-content/languages)

C’est l’occasion aussi pour parler la nouvelle présentation des statistiques dans l’entrepôt des extensions qui est bien commentée dans cet article de Brian. J’en profite pour signaler ce qui n’a pas été vu : les stats “Active Versions” sont fausses et mal triées si notamment le deuxième indice de la version contient au moins 2 chiffres. Une déclaration de bug #912 a été ouvert sur le tracs ! MAJ : La correction a été effectuée en 24h 😉 Le tri est maintenant correct !

Merci aux contributeurs européens de cette semaine : Emmanuel, Gabriel,…

xtt Active Versions
Active Versions de xili-tidy-tags

La trilogie xili-language mise à jour pour WordPress 4.1 “Dinah”

La sortie de WordPress 4.1 “Dinah” a été l’occasion depuis quelques semaines de revoir l’ensemble des extensions liées à la création d’un site multilingue avec xili-language (v.2.16.0), xili-tidy-tags (v1.10.0) et xili-dictionary (2.10.0) et de créer (comme exemple) le thème enfant multilingue TwentyFiften-xili et son site de démonstration.

Les modifications les plus importantes sont pour :

  • xili-language
    la prise en compte des fichiers .mo qui sont déposés dans le dossier wp-content/languages/themes s’il n’y a pas de fichiers .mo dans le dossier du thème lui-même.
  • xili-tidy-tags
    la correction d’une modification des assignations de langue quand on créait des groupes (alias) de mots-clés de même sens dans des langues différentes.
  • xili-dictionary
    Faciliter la récupération des termes liés aux commentaires (inclus dans le fichier wp-includes/comment-template.php) et rendre plus aisée donc leur traduction. En effet, WordPress, qui est de base traduisible mais pas multilingue, lie ces textes liés au formulaire de commentaires à la langue du tableau de bord uniquement et non au thème (qui a son propre textdomain).

Les améliorations du noyau (core) de WordPress ont été prises en compte (requête complexe). La réalisation du thème enfant TwentyFifteen-xili donne l’occasion de présenter un exemple avec différents astuces.

M.
2014-12-19

WP-Settings en action : attention à ne pas filtrer n’importe comment !

Version 2014–12–08

Une première relecture en prévision du MeetUp du 9 décembre à Lyon.

Pour suivre, il suffit d’avoir un éditeur de texte et lire les fichiers du kit WordPress (ici version 4.1)

Contexte

Le fichier wp-settings.php est lancé à la fin de wp-config.php

wp-config.php est lancé par wp-load.php qui lui même arrive après la succession index.php, wp-blog-header.php et avant template-loader.php qui contient l’importante action do_action( ‘template_redirect’ ); en ligne #12

Lecture ligne par ligne, les étapes clés

Imprimé, le fichier wp-settings.php tient sur six pages ou 375 lignes (WordPress Version 4.1). Dans les deux premières pages (#156), il déclare les constantes et met en place les fichiers (et classes) indispensables notamment ceux qui sont dans le dossier “wp-includes”. Ensuite, si l’installation est multisite, sont mis en place les extensions obligatoires (mu) puis les fichiers des extensions (sans qu’elles à ce stade activée – si elles sont bien écrites #212)

Les “do_action” majeurs

ligne #237 : premier “do_action” nommé “plugins_loaded”

Puis déclaration des GLOBALS dont la fameuse $wp_query

deuxième “do_action” nommé “setup_theme”

puis mise en place de l’internationalisation

Mise en place des fichiers fonctions.php (theme enfant avant theme parent) du thème courant.

troisième “do_action” nommé “after_theme_setup”

L’utilisateur courant est déclaré (donc connu). Souvent on en profite pour activer et enregistrer des fonctionnalités du thème actif.

quatrième “do_action” nommé “init”

C’est le fourre-tout mais qui mérite mieux si l’on veut mieux séquencer les activations

cinquième et dernier “do_action” nommé “wp_loaded” à la fin où tout est en place et où les ajax peuvent être lancés. (#374)

avant la requête (loop)

Le lancement de la requête se situe dans le fichier wp-blog-header et juste avant le template-loader (bien sûr si on veut afficher le thème). La fonction wp() est en fait la fonction main de la classe WP qui contient le do_action_ref_array( ‘wp’, array( &$this ) );

après la requête (juste avant la boucle / loop )

Sous réserve que l’on veuille afficher le thème, le do_action( ‘template_redirect’ ); en ligne #12 est la première action une fois la query effectué (en dehors des actions et filtres de la classe WP_Query elle-même).

Les éléments clés pour les développeurs d’extensions

De cette lecture rapide de wp_settings, on retire qu’il faut choisir dans une extension les bons filtres et au bon moment. Dans des versions précédentes de JetPack, certaines actions étaient faites trop tôt et interdisaient toute filtrage possible par une extension.

versant utilisateur – visiteur (frontend)

La réalisation de l’extension xili-language pour afficher un site multilingue avec une traduction correcte des termes du cadre du thème permet de préparer le chargement des bons fichiers .mo une fois bien connu ce qui doit être affiché (un single, une liste,…) et la langue qui doit être utilisée en concordance avec les contenus (c’est le filtre ‘wp’ dans la classe WP. Cette connaissance du bon filtre (action) au bon moment se substitue aux tâtonnements du début où on utilisait un filtre comme dans une autre extension sans avoir analysé sa position.

versant administrateur auteur (backend)

Quand on se connecte sur la partie admin, le trajet est un peu différent, il indique qu’on est côté admin (WP_ADMIN à true) mais passe toujours par wp-config.php donc par wp-settings.php etc…

La première action importante sera do_action( ‘admin_init’ ); en ligne #127 du fichier /wp-admin/admin.php. C’est là que par exemple on va définir à la volée la langue courante de l’administrateur qui veut en changer sans changer celle de base qu’il a défini dans son profil.

En guise de conclusion transitoire

“le source, le source, le source” comme me disait Amaury rencontré au 2e BarCamp à Paris est en effet, le plus important à explorer avant et pendant le développement d’une extension ou d’un thème. L’utilisation de la fonction “error_log” avec des drapeaux permet aussi de valider les découvertes et d’afficher l’existence ou des valeurs visibles sur la console au fil du démarrage de WP jusqu’à son affichage.