xili-language : Affichage des dates et heures

Afficher la date et l’heure à la volée selon la langue d’un article dans WordPress n’est pas chose aisée. Après quelques recherches dans le code source du coeur WP et en php, quelques voies possibles sont ici :

Sans changer ou ajouter de balises de thèmes (template tags), the_time(), the_modified_time() sont adaptables (via les filtres) par l’extension xili-language.

Les fonctions filtrantes sont placées dans le fichier functions.php du dossier ‘xilidev-libraries‘ à mettre dans la racine du dossier DES plugins (voir cet article).

function xiliml_comment_date($comment_time,$d = '') {
  /* params no used because php format */
  /* the first param is to be as msgid in .po example: %B %d, %Y - %H:%M or %B %d, %Y at %H:%M   */	
  return the_xili_local_time('%B %d, %Y', strtotime(get_comment_time ('m/d/Y H:i'))); 
  /* impossible to use get_comment_date as it is itself filtered*/
}
add_filter('get_comment_date','xiliml_comment_date',10,2);
 
 
function xiliml_date($thetime,$theformat) {
  /* param no used because php format */	
  return the_xili_local_time('%B %d, %Y - %H:%M',strtotime(get_the_time('m/d/Y H:i')));
}
add_filter('the_time','xiliml_date',10,2);
 
function xiliml_modified_date($thetime,$theformat) {
  /* param no used because php format */	
  return the_xili_local_time('%B %d, %Y - %H:%M',strtotime(get_the_modified_time('m/d/Y H:i')));
}
add_filter('the_modified_time','xiliml_modified_date',10,2);

De base WordPress utilise la fonction php date() et sa série de formats – http://fr2.php.net/manual/en/function.date.php – and and internal static translation tools.

Dans les fonctions filtrantes, l’extension xili-language utilise le format lié à setlocale. Voir – http://fr2.php.net/manual/en/function.strftime.php

Si le serveur Apache, le php sont bien configurés, cette voie liée à setlocale fonctionne en temps réel à la volée.

Pour le fichier .po, le msgid contient le format ‘%B %d, %Y – %H:%M‘ et sa traduction en français peut-être %d %B %Y – %Hh%M

FAQ

* Pourquoi les fonctions filtrantes sont à l’extérieur du plugin et dans ce dossier xilidev-libraries ?

Parce que le webmestre peut modifier ces fonctions sans que celles-ci soient mises à plat lors d’une mise à jour de l’extension elle-même. (Ne pas oublier la détection de ces fonctions en cochant « Active les fonctions xilidev »)

xilidev or gold functions

Active les fonctions xilidev

* Pour les paramètres de la fonction the_time() ne sont pas interprétés ?

Parce que leur interprétation en nombre de lignes de code est trop lourde et qu’il est plus simple de changer manuellement le format de date heure.

* Dans la fonction the_time() comment supprimer l’heure ?

Simplement changer ‘%B %d, %Y – %H:%M’ en ‘%B %d, %Y’ .

* Que fait la fonction the_xili_local_time() ?

Cette fonction traduit une date générique et numérique selon le format et la langue de l’article ou selon les règles définies dans le thème.
 
 

Cet article appartient à la série : xili-language pour les experts
  1. xili-language plugin : release 2.1
  2. Q&A about xili-language plugin, release 1.1
  3. xili-language : hooks, filters, class and so on...
  4. From a theme with localization to a multilingual theme with xili-language : technical and general notes.
  5. xili-language - 1.4.1 - new libraries
  6. Xili-language toolbox in one table
  7. xili-language and the time
  8. xili-language : Affichage des dates et heures
 
 

Ce contenu a été publié dans Pour experts, xili-language, avec comme mot(s)-clé(s) , , , , . Vous pouvez le mettre en favoris avec ce permalien.