Eviter les erreurs lors de la création d’un thème
Suite à l’envoi de thèmes sur le repository de wordpress, certains me reviennent avec des erreurs type que je partage ici, si jamais cela peut éviter à certains d’attendre trop longtemps avant que leur thème soit validé !
Le screenshot
1- Screenshot should represent what the theme looks like on default. You screenshot shows Admin bar please remove the admin bar.
Lorsqu’on importe un screenshot du thème, bien penser à livrer une image conforme sans admin bar, sans logo(s’il n’y en a pas dans le thème)sans images qui ne seraient pas livrées avec le thème, bref, l’utilisateur doit pouvoir retrouver exactement le même rendu.
Retirer les commentaires indésirables
2- Description tag in style.css contains The 2012 theme for WordPress is a fully responsive should be your theme name.
Faute d’inattention, lorsqu’on crée un thème à partir d’un template wordpress type twenty twelve ou autre, bien penser à retirer tout commentaire rappelant le thème d’origine.
Le nommage des fonctions
3- While changing layout from customizer i got this error Warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'utopia_sanitize_sidebar_placement' not found or invalid function name in E:\xampp\htdocs\theme_review\wp-includes\plugin.php on line 213
Ceci est particulier , mais quand on fait plusieurs thèmes à la fois, bien penser à vérifier le nom de chaque fonction.
Les fichiers de langue
4-rtl-language-support is working properly.
Penser à mettre un fichier rtl.css
Sécuriser ou nettoyer son code
5-admin_url should be sanitized in index.php line no.50
Faute d’inattention encore, bien penser à sanitize les fonctions type « admin-url’ avec un esc_url().Pareil pour le lien de l’image header, bien penser à entourer le lien header_image d’un esc_url().
Eviter les doublons de titres
6-Remove <title><?php wp_title('|', true, 'right'); ?></title> as you have title-tag support in functions.php add_theme_support( 'title-tag' ); https://codex.wordpress.org/Title_Tag
Doublon qui arrive fréquemment à mon avis, l’appel au titre dans le header, et dans les fonctions
Utiliser la fonction register pour ses scripts
7-wp_enqueue_script( 'infinite-scroll' ); This is no available in WordPress Default_Scripts_Included
Bien penser avant d’enqueue les scripts, à les regsiter s’ils ne sont pas intégrés d’office par wp
Retirer les mentions indésirables
8-Your language file is twentytwelve.pot should be your own .pot file and named as personal.pot
Pareil que la haut, faute d’inattention, bien penser à retirer tout lien vers le thème starter de base.
Bien renseigner le fichier readme.Txt
9-Provide License Details of Scripts and Styles used in readme.txt file.
== Copyright and License ==
Roman WordPress Theme, Copyright 2015 Votre Nom.
Roman WordPress theme is distributed under the terms of the GNU GPL.
Ne pas coder de fonctions altérant le core de wordpress
10- Most of Your options are not allowed in theme options. No pay wall restricting any WordPress feature. Only put those options that can be used in the theme. You cann’t change the WordPress Features.
Pour la création d’options du thème, penser à ne jamais inclure de fonction qui modifie le Core de wp, sous forme de plugin oui, mais pas en thème : exemple la suppression des menus du dashboard, la suppression des widget le changement des pages de connexion etc..
Utiliser le jquery par défaut de wordpress
11-There is no need to load jQuery alone when you are adding it as a dependancy for bootstrap.
Ici Jquery est appelé en dépendance de bootstrap, il n’y a donc pas besoin d’enqueue jquery en plus, puisqu’en plus wordpress charge deja jquery
Regrouper ses scripts et fichiers de style
12- You can combine all the functions that are added with add_action(‘wp_enqueue_scripts’,’name’) into one.
Bien penser, pour une plus grande lisibilité du code et meilleure maintenabilité, à regrouper tous les appels aux scripts dans la même fonction
Pour le signe Copyright, il faut utiliser le caractère spécial ‘©’
Utiliser un filtre de nettoyage pour ses titres
13-get_the_title should always be sanitized all over the theme
Dans ce cas faire un esc_attr(strip_tags(get_the_title()))
Livrer le thème avec les fichiers de style et les scripts non minifiés
14- Please provide unminified version of css and js used by the themes.
Eviter de mettre des .min.css ou .min.js mais prendre le fchier .css et .js normal à la place
Utiliser un filtre de nettoyage pour les tags
15- {{{<?php bloginfo(‘description’); ?> }}} on header.php Not escaped
Remplacer par <?php esc_attr(bloginfo(‘description’)); ?>