WordPress, W3C, href avec target= »_blank »
Il n’est pas simple d’obtenir la validation W3C, surtout si vos pages utilisent XHTML Strict 1.0, une méthode simple pour y remédier.
En premier consultez cet article : WordPress, W3C, target= »_blank », disponible sur le site Développeur Web
Une autre méthode, moins radicale mais aussi très simple à mettre en oeuvre:
1. Créez le fichier « href.js » et insérez le code suivant:
jQuery(document).ready(function($) {
// balise "a" click
$("a").click(
function(){
// l'attribut class à pour valeur external, il s'agit d'un lien externe
if(($(this).attr("class"))=='external') {
// on ouvre le lien dans une nouvelle fenêtre ou onglet selon le navigateur
window.open(this.href);
return false;
}
return true;
}
);
});
2. Insérez le code suivant dans le head de votre thème
// ajout de notre fichier js dans la liste des fichiers à insérer.
wp_enqueue_script('href', get_bloginfo('template_url') . '/href.js', array(), '1.0.0', false);
// cette ligne doit impérativement être placée après tous vos appels de js.
wp_head();
Lorsque vous ajoutez un lien via TinyMCE, passez en mode HTML pour remplacer l’attribute target par une class css, exemple:
<!--/* lien avant modification: */--> <a href="http://www.developpeur-web-le-vrai.com" target="_blank">Développeur Web</a> <!--/* passer en mode HTML et remplacer l'attribut target par class: */--> <a href="http://www.developpeur-web-le-vrai.com" class="external">Développeur Web</a>
Publier votre page et le tour est joué.
Il vous faudra également vous assurer que tous vos liens n’utilisent plus target= »_blank » mais class= »external » pour tous vos liens externes, tels que ceux définis dans votre thème, si vous utilisez les fonction telles : wp_list_bookmarks, il vous modifier sont comportement, exemple:
// on remplace les target="_blank" par notre class="external"
$bookmarks = str_replace("target=\"_blank\"", "class=\"external\"", wp_list_bookmarks());
echo $bookmarks;
En conclusion:
Rendre un site Web compatible W3C n’est pas chose simple (et puisque les normes et internet évolues chaque jour), mais en passant un peu de temps cela est possible.
WordPress Plugin désinstallation
Une méthode très utile à ajouter dans vos plugins WordPress, la gestion de la désinstallation. Cela vous permet ainsi de gérer des tâches ou actions lors de la désinstallation du plugin. La mise en oeuvre est très simple il vous suffit de faire appel au Hook uninstall. voici un exemple:
/* Hook Uninstall? */
if (function_exists('register_uninstall_hook')) {
// $file: le nom complet du script implémentant la fonction de désinstallation, ex. uninstall.php fourni avec votre plugin.
// $callback: le nom de la fonction appelée lors de la désinstallation, ex. 'uninstall'
/* Enregistre la fonction de désinstallation dans WordPress */
register_uninstall_hook($file, $callback);
}
/* Uninstall */
function uninstall() {
// Ici le code de la désinstallation.
}
Et ainsi vous maîtrisez la désinstallation de votre plugin. Prenez soin de placer l’appel à l’enregistrement de la fonction dans votre init avant toute autre action au même titre que activate et deactivate.
Si votre plugin est une classe, et oui PHP5 permet l’utilisation POO plus avancé, et offre ainsi certains avantages, il vous suffit de modifier le callback, exemple:
/* Hook Uninstall? */
if (function_exists('register_uninstall_hook')) {
// $file: le nom complet du script implémentant la fonction de désinstallation, ex. uninstall.php fourni avec votre plugin.
// $object: votre classe implémentant la fonction de désinstallation
// $callback: le nom de la fonction appelée lors de la désinstallation, ex. 'uninstall'
/* Enregistre la fonction de désinstallation dans WordPress */
register_uninstall_hook($file, array($object, $callback));
}

