Quelques cas courants d’erreurs (et les solutions qui vont avec) renvoyées par le plugin Theme Check afin de se conformer aux bonnes pratiques de développement d’un thème.

  1. REQUIRED : .sticky (ou .screen-reader-text, .bypostauthor) css class is needed in your theme css  : ajouter des règles css pour ces classes dans le fichier style.css de votre thème (ou thème enfant). Par exemple :
    .sticky { position : relative ; }
    .screen-reader-text { position : absolute !important ; left : -999em ; }
    .bypostauthor { border : 1px solid #333 ; padding : 2px ; }
  2. REQUIRED : The theme must not used the <title> tags
    REQUIRED : The theme must not call to wp_title()

    REQUIRED : The <title> tags can only contain a call to wp_title(). Use the wp_title filter to modify the output.

    Cela se passe dans le template header.php de votre thème ou vous devez avoir quelque chose du genre :

    <title>< ?php wp_title('') ; ?>< ?php if(wp_title('', false)) { echo ' :' ; } ?> < ?php bloginfo('name') ; ?></title>

    Il faut simplement supprimer cette ligne. La gestion de la balise <title> sera assurée par le point suivant.

  3. REQUIRED : No reference to add_theme_support( « title-tag » ) was found in the theme. Et bien il suffit de l’ajouter dans votre fichier functions.php de votre thème :
    // Let WordPress manage the document title 
    add_theme_support( 'title-tag' ) ; 
  4. REQUIRED : get_option(‘home’) was found in the file functions.php. Use home_url() instead. La réponse est fournie !
  5. WARNING : Found a translation function that is missing a text-domain. Function _e, with the arguments ‘<le texte de l’argument de _e()’ (valable aussi pour toutes les autres fonctions du même type :__(), esc_attr_e(), …)  : ajouter un nom de domaine sous forme d’une chaine de caractère en second argument de ces fonctions ou si le second argument est présent s’assurer qu’il n’est pas une constante, une fonction ou une variable. En effet, les outils de génération de fichiers d’internationalisation ne reconnaissent en général pas autre chose que des chaînes de caractère (source : https ://wordpress.stackexchange.com/questions/114201/html-inside-or-e-language-translation-string)
  6. WARNING : fwrite (ou fopen, fclose, file_get_contents…) was found in the file functions.php File operations should use the WP_Filesystem methods instead of direct PHP filesystem calls : remplacer ces fonctions par la classe WP_Filesystem (voir article détaillé : correspondance entre WP_Filesystem et les fonctions natives php)
  7. WARNING : The theme uses the add_shortcode() function. Custom post-content shortcodes are plugin-territory functionality. Là, pas le choix, il faut déplacer l’appel à add_shortcode() dans un plugin. Personnellement je ne l’ai pas fait – je l’utilise pour remplacer le code généré par le shortcode gallery, mais pourquoi pas envisager un plugin associé au thème qui regroupe ce genre de fonctionnalités « plugin-territory ».
  8. RECOMMENDED : Could not find the file readme.txt in the theme. Please see Theme_Documentation for more information. Facile, il suffit d’en créer un à la racine de votre thème :-) Vous pouvez vous inspirer de celui des thèmes livrés avec WordPress.
  9. INFO : Non-printable characters were found in the xxx.php file. You may want to check this file for errors. En général, ce sont des caractères non ASCII – par exemple é, è, ç, à – directement dans le code, notamment HTML. Il suffit de les remplacer par le code HTML du caractère. Voir par exemple ici pour la liste complète : http ://www.baudelet.net/table-caracteres-speciaux-html.htm.

Source : http ://www.wrock.org/resolve-wordpress-theme-check-issue/

Tags : ,

Classés dans :