Champ de thème : à la mode avec la page personnalisation

On connait les champs personnalisés attachés à chaque article, ils sont stockés dans la table wp_postmeta.
La nouvelle mode concernant l’utilisation de la page “personnalisation” (customize) du menu du thème actif fait renaître l’utilisation du tableau “Theme_mods” résultat de l’appel à la fonction get_theme_mods.
Plus directement, on peut accéder à un élément du tableau du thème actif avec les deux fonctions get_theme_mod et set_theme_mod (voir includes/theme.php de WP). Ce tableau est stocké dans la ligne theme_mods_twentyfifteen de la table wp_options ici pour le thème twentyfifteen.

Un thème comme zerif-lite utilise de nombreux champs de ce type à saisir par le webmestre pour, par exemple ajouter des champs dans un header ou d’une page d’accueil multi paragraphe. Le fichier inc/customizer.php contient une (grande) liste de ces champs ajoutés pour personnaliser le site.

get_theme_mod est une fonction qui permet de rendre une valeur par défaut si rien ne pré-existe dans la base.

Cette fonction est aussi filtrable. Si le champ est de type “string” nommé “sous-titre” et si on veut le traduire, on peut utiliser le filtre du nom “theme_mod-sous-titre“.

Si un thème utilise ces functions directement sans une fonction GETTEXT dans le thème, ce filtre sera utile pour faire de la traduction/adaptation dans un contexte multilingue. Via des fichers xml ou une détection adaptée, des gestionnaires de dictionnaire pour préparer les traductions iront détecter ces valeurs afin de préparer les fichiers de langue (.mo, .po).

M.

Etiquette remplace mot-clé

Sans crier gare, dans la traduction française de tag est passée de mot-clé à étiquette ! Est-ce bien ? En tout cas, cela ajoute de la précision à la façon de classer les articles ? Et cela précise le modèle de données : en effet, on range des articles dans des rayons (catégorie) et sur chacun on peut ajouter des étiquettes (marque, couleurs, composants…).
Pour le contexte multilingue, cela conforte aussi les choix faits dans la trilogie xili-language depuis 2009. Les grands rangements se basent sur les catégories (les rayons) où peuvent coexister des articles de langues différentes et les étiquettes (ex mots-clés) sont traduisibles ou non mais groupables par langue ou groupe sémantique (trademark,…) C’est l’objet de l’extension xili-tidy-tags.
NB : xili-language ne clone pas les catégories selon la langue mais en traduit l’intitulé et la description selon le contexte…

Multisite et taxonomie nouvelle ajoutée… quid ?


Fatal error: Uncaught Error: Call to a member function id() on array in /datas/vol3/w4a157845/var/www/2015.wp.xiligroup.org/htdocs/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php:36 Stack trace: #0 /datas/vol3/w4a157845/var/www/2015.wp.xiligroup.org/htdocs/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php(538): CrayonFormatter::format_code('', Array, Object(CrayonHighlighter)) #1 [internal function]: CrayonFormatter::delim_to_internal(Array) #2 /datas/vol3/w4a157845/var/www/2015.wp.xiligroup.org/htdocs/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php(516): preg_replace_callback('#()#msi', 'CrayonFormatter...', '// extrait\r\n'ta...') #3 /datas/vol3/w4a157845/var/www/2015.wp.xiligroup.org/htdocs/wp-content/plugins/crayon-syntax-highlighter/crayon_highlighter.class.php(166): CrayonFormatter::format_mixed_code('// extrait\r\n'ta...', Object(CrayonLang), Object(CrayonHighlighter)) #4 /datas/vol3/w4a157845/var/www/2015.wp.xiligroup.org/htdocs/wp-content/plugi in /datas/vol3/w4a157845/var/www/2015.wp.xiligroup.org/htdocs/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php on line 36