Tag : script

Optimiser l’ajout des javascripts des plugins dans votre wordpress

Souvent lorsque vous ajoutez des plugins dans votre wordpress vous allez automatiquement ajouter des bouts de codes JS sur toutes vos pages afin de faire fonctionner les dits plugins mais ces derniers ne sont pas forcément utilisés sur toutes vos pages. Ainsi vous surchargez bêtement vos pages et on le sait tous le temps de chargement d’une page est très important pour l’expérience utilisateur.

Par exemple si vous utilisez un plugin pour un formulaire de contact ce dernier ne sera nécessaire que sur la page contenant ce formulaire mais malheureusement le plugin va ajouter automatiquement le code javascript sur toutes les pages de votre blog wordpress… Afin de remédier à ce problème il faut ajouter un bout de code dans votre page functions.php de votre thème, celui-ci va annuler l’ajout automatique et faire l’insertion uniquement sur la page désirée, voici comment faire pour le plugin contact form 7 :

/* Ajout manuel des scripts contact form 7 */
    remove_action('wp_enqueue_scripts', 'wpcf7_enqueue_scripts' ); // Annule l'ajout automatique
    add_action('wp_enqueue_scripts','cf7_scripts'); // Ajoute les scripts sur la page désirée
 
function cf7_scripts() {
    if (is_page(array('1049'))) { // Ajouter les ID des pages sur lesquelles vous utilisez le plugin ?>
    <script src="<?php bloginfo('home'); ?>/wp-content/plugins/contact-form-7/jquery.form.js" type="text/javascript"></script>
    <script src="<?php bloginfo('home'); ?>/wp-content/plugins/contact-form-7/scripts.js" type="text/javascript"></script>
<?php } }

L’idée pour d’autres plugins est donc d’identifier le « handle » utilisé par le plugin dans les fichiers du plugin, pour contact form 7 c’est wpcf7 et ensuite d’ajouter ce code dans le fichier functions.php de votre thème.

Si vous souhaitez aussi n’ajouter la feuille de style associée que sur la bonne page c’est tout aussi simple il suffit d’utiliser la fonction wordpress wp_deregister_style comme ceci :

/* Ajout manuel des scripts contact form 7 */
    remove_action('wp_enqueue_scripts', 'wpcf7_enqueue_scripts' ); // Annule l'ajout automatique
    add_action('wp_enqueue_scripts','cf7_scripts'); // Ajoute les scripts sur la page désirée
 
function cf7_scripts() {
    if (is_page(array('1049'))) { // Ajouter les ID des pages sur lesquelles vous utilisez le plugin ?>
    <script src="<?php bloginfo('home'); ?>/wp-content/plugins/contact-form-7/jquery.form.js" type="text/javascript"></script>
    <script src="<?php bloginfo('home'); ?>/wp-content/plugins/contact-form-7/scripts.js" type="text/javascript"></script>
<?php }

else {
wp_deregister_style( 'contact-form-7' );
} }

Et voilà vous pouvez faire un peu d’optimisation maintenant!


Mettre par défaut Google Analytics à la date du jour

Google Analytics est un superbe outil de statistique pour suivre l’évolution d’un trafic, d’un référencement, etc mais l’affichage des données est par défaut proposé sur la date de la veille, ce qui est un peu énervant lorsque l’on sait que Google Analytics propose des données en live normalement.

Heureusement un script greasemonkey va vous permettre de paramétrer automatiquement la période avec la date du jour. Notez que ce script est aussi par définition une extension de Google Chrome puisque l’outil accepte les scripts greasemonkey.

Et voilà deux clics de gagnés par jour ! Le script se télécharge sur le site du développeur.

Merci à Alexis pour le tuyau


Ajoutez un effet d’apparition fluide sur vos images

Voici un petit script qui théoriquement vous permettra d’améliorer la qualité de l’expérience utilisateur sur votre site et blog. Sur le principe vous allez faire afficher les images uniquement lorsque le visiteur pourra les voir avec un petit effet fade in très sympathique. Ce script jQuery « Lazy Load » est disponible sous la forme d’un script jQuery mais aussi sous la forme d’un plugin pour wordpress, Image Lazy Load, alors n’hésitez pas à vous faire plaisir.

Quelques images pour la démonstration (cela ne marchera pas dans votre lecteur RSS) :

Par ailleurs si vous utilisez le plugin wp-minify sachez qu’il faudra commenter les lignes 15, 16 et 17 du fichier jquery-image-lazy-loading.php comme cela :

< ?php
   
  /*
  Plugin Name: jQuery lazy load plugin
  Plugin URI: http://github.com/ayn/wp-jquery-lazy-load/
  Description: a quick and dirty wordpress plugin to enable image lazy loading.
  Version: v0.10
  Author: Andrew Ng
  Author URI: http://blog.andrewng.com
  */

function jquery_lazy_load_headers() {
  $plugin_path = plugins_url('/', __FILE__);
  $lazy_url = $plugin_path . 'javascripts/jquery.lazyload.mini.js';
//  $jq_url = 'http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js';
//  wp_deregister_script('jquery');
//  wp_enqueue_script('jquery', $jq_url, false, '1.4.2');
  wp_enqueue_script('jquerylazyload', $lazy_url, 'jquery', '1.5.0');
}

function jquery_lazy_load_ready() {
  $placeholdergif = plugins_url('images/grey.gif', __FILE__);
  echo <<
jQuery(document).ready(function($){
  if (navigator.platform == "iPad") return;
  jQuery("img").lazyload({
    effect:"fadeIn",
    placeholder: "$placeholdergif"
  });
});

EOF;
}

  add_action('wp_head', 'jquery_lazy_load_headers', 5);
  add_action('wp_head', 'jquery_lazy_load_ready', 12);
?>

Générer automatiquement des miniatures sur la page d’accueil de son blog wordpress

On le sait tous les images ont de l’importance pour le lecteur qui aura peut être envie de poursuivre la lecture de votre blog en y voyant une belle illustration. Par principe illustrer ses articles est quelque chose à faire le plus souvent possible, mais quid de la page d’accueil qui nécessite tout autant d’attention que la page d’article? Voici un petit tutoriel qui va vous présenter comment faire pour afficher une miniature de la première image de l’article, le tout sans avoir besoin de plugin!

vignette sur la homepage de blog4auto.fr
vignette sur la homepage de blog4auto.fr

Premièrement il va falloir éditer la page appelée function.php qui se trouve dans votre thème mais aussi dans l’éditeur de thème dans l’interface d’administration de votre blog « Appearance/Editor/Function.php ». A la fin de ce fichier il va falloir coller ce bout de code :

// Recherche de la premiere image
function catch_that_image() {
global $post, $posts;
$first_img = '';
ob_start();
ob_end_clean();
$output = preg_match_all('//i', $post->post_content, $matches);
$first_img = $matches [1] [0];
// Si zero image
if(empty($first_img)){
$first_img = "";
}
$first_img = str_replace('http://www.domaine.fr', '', $first_img);
return $first_img;
}

Simplement l’objectif de cette fonction est de retrouver la première image de votre article et de récupérer l’url de cette dernière. S’il n’y a pas d’image vous pouvez afficher une image par défaut $first_img = "image/defaut.jpg"; mais dans ce cas je préfère ne rien afficher.

Donc on a maintenant grâce à cette fonction les adresses des premières images de chaque article, il faut donc générer la miniature sinon vous allez avoir les images dans la taille utilisée dans l’article. Pour générer les miniatures à une taille spécifique il va falloir utiliser un petit script qui va travailler à votre place, celui-ci s’appelle timthumb, ce script en php va donc prendre votre image et la recouper à la taille désirée. Vous pouvez télécharger la version disponible sur Google Code ou bien prendre ma version qui comporte quelques modifications (génération de thumb si l’image est trop petite notamment).

Pour installer ce script vous allez devoir créer un dossier « scripts » dans le répertoire de votre thème de votre blog mondomaine.fr/wp-content/themes/montheme/script et un répertoire « cache » pour stocker les images mondomaine.fr/wp-content/themes/montheme/script/cache, ces deux répertoires doivent être en 777 pour que l’on puisse y déposer les images générées. Une fois les deux répertoires créés il faut déposer le fichier timthumb.php dans script.

Maintenant il ne reste plus qu’à modifier votre page d’accueil, « Appearance/Editor » puis Main Index Template (index.php) pour appeler la fonction en y ajoutant ce bout de code à l’endroit où vous souhaitez afficher la vignette :

< ?php if (catch_that_image()){ ?>


< ?php }; ?>

Notez que je fais un test pour savoir s’il y a une image ou pas et dans le cas où il n’y en ait pas je n’affiche rien (à adapter en fonction de vos besoins). Pour définir la taille des thumbs (vignettes) rien de plus simple dans la ligne : w=500&h=150&zc=1&q=100 il suffit de remplacer « w » par la largeur de votre choix et « h » par la hauteur de votre choix.

Avec cette méthode vous pouvez dire adieu aux champs personnalisés qui sont au niveau de la préhistoire pour l’affichage des vignettes sur la page d’accueil!

Source le forum de wordpress.org


Comment mettre de la neige sur votre blog?

L’hiver et la neige étant de plus en plus courant (période oblige) voici un plugin pour wordpress mais qui peut aisément s’intégrer sur les autres plateformes de blogs.

Le plugin « Let it Snow » va comme son nom l’indique intégrer un effet de neige sur votre blog WordPress, c’est marrant et cela ne nuit pas trop à la navigation. Pour l’installer rien de plus simple il faut le télécharger, l’activer et c’est tout.

Pour ceux qui ne sont pas sous wordpress, il faut télécharger le script Snowstorm disponible sur Schillmania, le mettre sur votre serveur et ensuite intégrer dans votre entête de blog (header) le code suivant :


Et voilà il neige chez vous :

wordpress-neige


Un vrai festival d’effet javascript pour votre blog

Vous souhaitez mettre une petite touche de fantaisie dans votre blog voici Fireworks, une animation en javascript qui permet de faire le feu d’artifice du 14 juillet sur votre blog!

artifice

A tester sur le site du projet fireworks, tous les paramètres sont entièrement customisables (tailles, durée, zone de l’écran où se déroule l’action, nombre de couleurs) la performance de codage est intéressante mais l’usage de ce script reste à trouver…