Fin de page
Nov 24

Un exemple très simple qui illustre parfaitement la notion d’aléatoire.

Soient 2 dés à 6 faces :
dice1.png dice3.png dice5.png
dice2.png dice4.png dice6.png
combien avez-vous obtenu ?
Une face Une face

Pour réaliser cette page, j’ai installé l’extension Random Number Generator et j’ai utilisé les tags suivants :

[random-number from='1' to='6']dice%d.png[/random-number]
dice[random-number from='1' to='6' format='%d'].png

Share

Lien permanent vers Un exemple simple d’utilisation du Random Number Generator Rédigé par Whiler \\ Tags : , , , , , , ,

Nov 24

J’ai effectué quelques modifications pour étoffer l’exemple afin que la balise supporte des attributs, mais également pour corriger quelques bugs découverts suites au premier déploiement dans de réelles conditions.

On peut maintenant ainsi utiliser la balise :

[random-number]
[random-number/]
[random-number from='α']
[random-number to='β'/]
[random-number from='α' to='β' format='φ']
[random-number]φ[/random-number]
[random-number from='α' to='β']φ[/random-number]
  • α : correspond à la valeur entière minimale incluse souhaitée
  • β : correspond à la valeur entière maximale incluse souhaitée
    • donc α < β
  • φ : format à utiliser. φ ne doit contenir qu’un seul champ de spécification. Actuellement, si vous en mettez plusieurs, une erreur sera générée. Nous verrons dans un prochain article comment la gérer.
  • α, β & φ sont optionnels. Leurs valeurs sauvegardées dans les réglages seront utilisées si elles sont omises.

Pour cela, j’ai essentiellement modifié la fonction random_number_generator_shortcode_handler() :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/**
 * Fonction renvoyant un chiffre aléatoire
 * @param string $atts Attributs éventuellement passés dans le tag
 * @param string $content Format à utiliser si encapsulé par le tag
 * @return HTML
 */

function random_number_generator_shortcode_handler($atts, $content) {
  // [random-number from="2" to="72" format="%b"]%d minutes[/random-number]
  // output:   an integer value between 2 & 72 followed by the word 'minutes'
  // affiche : une valeur entière entre 2 & 72 suivie du mot 'minutes'

  // Récupération des paramètres depuis les options de WP
  $random_number_generator_from   = get_option('random_number_generator_from');
  $random_number_generator_to     = get_option('random_number_generator_to');
  $random_number_generator_format = get_option('random_number_generator_format');

  // Récupération des paramètres éventuels avec les options sauvegardées comme valeur par défaut
  extract(shortcode_atts(array('from' => $random_number_generator_from, 'to' => $random_number_generator_to, 'format' => $random_number_generator_format), $atts));

  // Si on a entouré du texte avec la balise, c'est que ce texte est LE format à utiliser
  // Il devrait contenir un champ de spécification pour afficher le nombre aléatoire
  if ($content != "") {
    $format = $content;
  }

  // Valide les différentes options
  validate_data($from, $to, $format);
  // Génération aléatoire
  mt_srand();
  // Renvoie un nombre aléatoire
  return sprintf($format, mt_rand($from, $to));
}

Les bugs corrigés sont :

  • Chemins codés en dur… j’avais mis le répertoire avec des « _ » et WordPress l’a publié avec des « -« … Le code utilise maintenant un chemin totalement dynamique.
  • Le format de mon fichier php n’était pas en UTF-8… pour être certain d’avoir le bon format, j’ai mis à jour mes sources via l’interface d’administration de WordPress, puis j’ai téléchargé le fichier modifié via FTP depuis mon hébergeur pour ensuite le publier via SVN

L’ensemble du code source est disponible sur la page suivante…

Share

Pages : 1 2

Lien permanent vers Random Number Generator 1.0 Rédigé par Whiler \\ Tags : , , , , , , , , ,

Nov 23

Dans cet article, je vous propose de voir comment coder une nouvelle extension WordPress, en partant de rien…

Cette extension pourra elle-même servir de base pour la création de nouvelles extensions. Elle met en œuvre les fonctionnalités suivantes :

  • Détection d’un mot-clé dans un article afin de le remplacer par une valeur choisie
  • Interface multilingue
  • Utilisation d’options spécifiques à l’extension
  • Interface pour le réglage de ces options
  • Ajout d’un sous-menu pour accéder à la page de réglages
  • Ajout d’une nouvelle action pour l’extension dans la page des extensions installées pour également accéder à la page des réglages
  • Utilisation de JavaScript

Concrètement, coté utilisateur final, le tag utilisé sera remplacé par un nombre aléatoire… Libre à vous d’imaginer des extensions pouvant faire des traitements bien plus conséquents. ;)

Cet exemple est fonctionnel, à partir des version 2.7 (j’utilise des options qui n’existaient pas avant) de WordPress. Il fonctionne également avec WordPress MU.

On commence par créer l’arborescence :

  1. Dans le répertoire des extensions (<WP>/wp-content/plugins/), création d’un répertoire qui hébergera notre extension : random_number_generator
  2. Création d’un sous-répertoire qui hébergera nos fichiers de traduction : languages

Puis on crée les premiers fichiers qui nous seront nécessaires :
Dans le répertoire de notre extension :

<WP>/wp-content/plugins/random_number_generator/

  1. création d’un fichier texte dans lequel on va coder notre extension :
    random_number_generator.php
    (!!) Assurez-vous de ne pas laisser l’extension .txt
  2. création d’un fichier texte dans lequel on mettra du JavaScript :
    random_number_generator.js

On a donc ceci :

+---plugins
|   |
|   [...]
|   |
|   +---random_number_generator
|   |   |    random_number_generator.js
|   |   |    random_number_generator.php
|   |   |
|   |   \---languages
|   |
|   [...]

Il ne reste plus qu’à coder toutes les fonctionnalités précédemment citées…

Share
Nov 09

Depuis plusieurs années, j’ai abandonné la création de pages persos pour afficher mes photos… finis les scripts php et autres pages statiques…
Je suis passé sur PhpWebGallery, qui est devenu par la suite PiwigoW

Piwigo est un logiciel de galerie photo pour le web, bâti autour d’une communauté active d’utilisateurs et de développeurs. Les extensions rendent Piwigo facilement personnalisable. Cerise sur le gâteau, Piwigo est libre et gratuit.

Parmi les nombreuses extensions disponibles, voici celles que j’ai installées, séparées en trois parties : Lire la suite »

Share

Pages : 1 2 3

Lien permanent vers Les extensions Piwigo que j’utilise… Rédigé par Whiler \\ Tags : , , , , ,

Nov 04

J’ai ajouté un hookW dans le fichier real_footer.php du thème courant afin de pouvoir modifier le contenu du pied de page des articles.

J’ai effectué cette modification à la suite de l’ajout d’une nouvelle extension :

  • l’extension, Platinum SEO fonctionne parfaitement
  • mais l’affichage du remerciement ne s’intègre pas dans le thème… :s
  • j’ai donc désactivé l’affichage par défaut
  • et codé la modification
  • sans la mettre directement dans le thème… ;)

Voici le hook dont j’avais précédemment parlé qui affiche maintenant en plus ce texte : Lire la suite »

Share

Lien permanent vers Mise à jour du thème de ce blog Rédigé par Whiler \\ Tags : , , , , , , , , ,

Début de la page