0
Résultats de validation

Porto

Porto

WordPress 5.0.3 theme
0
Alertes critiques
  1. Customizer : Sanitization des Customizer settings Un setting Customizer a été trouvé sans callback de sanitization dans le fichier header-builder.php. Tous les appels à la méthode add_setting() doivent déclarer une fonction de filtrage.Un setting Customizer a été trouvé sans callback de sanitization dans le fichier extension_customizer.php. Tous les appels à la méthode add_setting() doivent déclarer une fonction de filtrage.
  2. Title : Title Les tags <title> ne peuvent contenir qu'un appe à wp_title(). wp_title filter soit être utilisée pour modifier la sortie.Les tags <title> ne peuvent contenir qu'un appe à wp_title(). wp_title filter soit être utilisée pour modifier la sortie.
  3. Failles de sécurité : Modification des paramètres du serveur PHP ini_set trouvé dans le fichier save_settings.php.
    Line 157: @ini_set( ' max_execution_time', '10000' );
    Line 158: @ini_set( 'memory_limit', '256M' );
    ini_set trouvé dans le fichier Parser.php.
    Line 94: @ini_set('mbstring.internal_encoding', 'ascii');
    Line 185: @ini_set('precision',16);
    Line 223: @ini_set('precision',$precision);
    Line 229: @ini_set('mbstring.internal_encoding', $this->mb_internal_encoding);
    ini_set trouvé dans le fichier setup_wizard.php.
    Line 1527: @ini_set('max_execution_time', '10000');
    Line 1528: @ini_set('memory_limit', '256M');
    Line 1637: @ini_set('max_execution_time', '10000');
    Line 1638: @ini_set('memory_limit', '256M');
    Line 1689: @ini_set('max_execution_time', '10000');
    Line 1690: @ini_set('memory_limit', '256M');
    ini_set trouvé dans le fichier class-dynamic-style.php.
    Line 56: @ini_set('max_execution_time', '10000');
    Line 57: @ini_set('memory_limit', '256M');
  4. Failles de sécurité : Utilisation de base64_decode() base64_decode trouvé dans le fichier admin.php.
    Line 129: $result = $this->curl_purchase_code( base64_decode( $code_confirm ), '', 'remove' );
    Line 212: $code = base64_decode( $code );
  5. Failles de sécurité : Utilisation de base64_encode() base64_encode trouvé dans le fichier admin.php.
     if ( !$code || base64_encode( $code ) != $code_confirm ) {
     $code_confirm = base64_encode($code);
     if ($code && $code_confirm && base64_encode($code) == $code_confirm)
     curl_setopt($ch, CURLOPT_URL, $this->activation_url . '?item=9207399&code=$code&domain=$domain&siteurl='. base64_encode( site_url() ) .'&act=$act' . ( $local ? '&local=true' : '' ))
     return base64_encode( SUBSCRIPTION_CODE );
    base64_encode trouvé dans le fichier Functions.php.
     $buf = $useBase64 ? base64_encode($buf) : rawurlencode($buf);
     $returner = ''data:image/svg+xml;base64,'.base64_encode($returner).''';
  6. Fichiers indésirables : fichiers ou dossiers cachés .easymin a été trouvé.
  7. Code malveillant : Opérations sur système de fichiers file_get_contents trouvé dans le fichier Server.php.
    Line 135: $metadata = unserialize(file_get_contents($metadataName));
    Line 206: $css     = $this->scss->compile(file_get_contents($in), $in);
    Line 285: $compiled = $this->scss->compile(file_get_contents($in), $in);
    Line 377: echo file_get_contents($output);
    Line 413: $css = file_get_contents($out);
    file_get_contents trouvé dans le fichier Server.php.
    Line 135: $metadata = unserialize(file_get_contents($metadataName));
    Line 206: $css     = $this->scss->compile(file_get_contents($in), $in);
    Line 285: $compiled = $this->scss->compile(file_get_contents($in), $in);
    Line 377: echo file_get_contents($output);
    Line 413: $css = file_get_contents($out);
    file_put_contents trouvé dans le fichier Server.php.
    Line 214: file_put_contents($out, $css);
    Line 215: file_put_contents(
    Line 288: return file_put_contents($out, $compiled);
    file_put_contents trouvé dans le fichier Server.php.
    Line 214: file_put_contents($out, $css);
    Line 215: file_put_contents(
    Line 288: return file_put_contents($out, $compiled);
    file_get_contents trouvé dans le fichier Server.php.
    Line 135: $metadata = unserialize(file_get_contents($metadataName));
    Line 206: $css     = $this->scss->compile(file_get_contents($in), $in);
    Line 285: $compiled = $this->scss->compile(file_get_contents($in), $in);
    Line 377: echo file_get_contents($output);
    Line 413: $css = file_get_contents($out);
    file_put_contents trouvé dans le fichier Server.php.
    Line 214: file_put_contents($out, $css);
    Line 215: file_put_contents(
    Line 288: return file_put_contents($out, $compiled);
    file_get_contents trouvé dans le fichier Server.php.
    Line 135: $metadata = unserialize(file_get_contents($metadataName));
    Line 206: $css     = $this->scss->compile(file_get_contents($in), $in);
    Line 285: $compiled = $this->scss->compile(file_get_contents($in), $in);
    Line 377: echo file_get_contents($output);
    Line 413: $css = file_get_contents($out);
    file_get_contents trouvé dans le fichier Server.php.
    Line 135: $metadata = unserialize(file_get_contents($metadataName));
    Line 206: $css     = $this->scss->compile(file_get_contents($in), $in);
    Line 285: $compiled = $this->scss->compile(file_get_contents($in), $in);
    Line 377: echo file_get_contents($output);
    Line 413: $css = file_get_contents($out);
    file_put_contents trouvé dans le fichier SourceMapGenerator.php.
    Line 143: if (file_put_contents($file, $content) === false) {
    file_get_contents trouvé dans le fichier SourceMapGenerator.php.
    Line 222: $content[] = file_get_contents($sourceFile);
    fopen trouvé dans le fichier Compiler.php.
    Line 194: $this->stderr         = fopen('php://stderr', 'w');
    fwrite trouvé dans le fichier Compiler.php.
    Line 1915: fwrite($this->stderr, 'Line $line DEBUG: $value\n');
    Line 1923: fwrite($this->stderr, 'Line $line WARN: $value\n');
    fwrite trouvé dans le fichier Compiler.php.
    Line 1915: fwrite($this->stderr, 'Line $line DEBUG: $value\n');
    Line 1923: fwrite($this->stderr, 'Line $line WARN: $value\n');
    file_get_contents trouvé dans le fichier Compiler.php.
    Line 3446: $code   = file_get_contents($path);
    file_get_contents trouvé dans le fichier Import.php.
    Line 176: $contents = new Less_Tree_Anonymous( file_get_contents($full_path), 0, array(), true );
    file_put_contents trouvé dans le fichier Generator.php.
    Line 152: if(file_put_contents($file, $content) === false){
    file_get_contents trouvé dans le fichier Generator.php.
    Line 275: $content[] = file_get_contents($sourceFile);
    file_get_contents trouvé dans le fichier import.php.
    Line 69: $contents = new Less_Tree_Anonymous( file_get_contents($full_path), 0, array(), true );
    file_get_contents trouvé dans le fichier Functions.php.
    Line 928: $buf = @file_get_contents($filePath);
    file_put_contents trouvé dans le fichier Cache.php.
    Line 75: file_put_contents($vars_file, $lessvars);
    Line 119: file_put_contents( $list_file, $cache );
    Line 123: file_put_contents( $output_file, $compiled );
    file_put_contents trouvé dans le fichier Cache.php.
    Line 75: file_put_contents($vars_file, $lessvars);
    Line 119: file_put_contents( $list_file, $cache );
    Line 123: file_put_contents( $output_file, $compiled );
    file_put_contents trouvé dans le fichier Cache.php.
    Line 75: file_put_contents($vars_file, $lessvars);
    Line 119: file_put_contents( $list_file, $cache );
    Line 123: file_put_contents( $output_file, $compiled );
    file_get_contents trouvé dans le fichier Cache.php.
    Line 307: $list = explode('\n',file_get_contents($list_file));
    file_get_contents trouvé dans le fichier Parser.php.
    Line 656: $cache = unserialize(file_get_contents($cache_file));
    Line 723: $this->input = file_get_contents( $file_path );
    file_put_contents trouvé dans le fichier Parser.php.
    Line 697: file_put_contents( $cache_file, serialize($rules) );
    Line 700: file_put_contents( $cache_file, '<?php return '.self::ArgString($rules).'; 
    Line 704: file_put_contents( $cache_file, '<?php return '.var_export($rules,true).'; 
    file_put_contents trouvé dans le fichier Parser.php.
    Line 697: file_put_contents( $cache_file, serialize($rules) );
    Line 700: file_put_contents( $cache_file, '<?php return '.self::ArgString($rules).'; 
    Line 704: file_put_contents( $cache_file, '<?php return '.var_export($rules,true).'; 
    file_put_contents trouvé dans le fichier Parser.php.
    Line 697: file_put_contents( $cache_file, serialize($rules) );
    Line 700: file_put_contents( $cache_file, '<?php return '.self::ArgString($rules).'; 
    Line 704: file_put_contents( $cache_file, '<?php return '.var_export($rules,true).'; 
    file_get_contents trouvé dans le fichier Parser.php.
    Line 656: $cache = unserialize(file_get_contents($cache_file));
    Line 723: $this->input = file_get_contents( $file_path );
    file_get_contents trouvé dans le fichier Parser.php.
    Line 58: $this->input = file_get_contents( $this->currentFile['filename'] );
    file_put_contents trouvé dans le fichier lessc.inc.php.
    Line 177: return file_put_contents( $outFname, $out );
    file_put_contents trouvé dans le fichier setup_wizard.php.
    Line 981: file_put_contents( $new_theme_path.'/style.css', $css );
    Line 1418: // Initialize the Wordpress filesystem, no more using file_put_contents function
    fopen trouvé dans le fichier setup_wizard.php.
    Line 1425: $fp = fopen( $path, 'r' );
    fread trouvé dans le fichier setup_wizard.php.
    Line 1426: $data = fread( $fp, filesize( $path ) );
    fclose trouvé dans le fichier setup_wizard.php.
    Line 1427: fclose( $fp );
    file_get_contents trouvé dans le fichier extension_custom_fonts.php.
    Line 904: //$payload .= file_get_contents( $output[ $main ] );
    fopen trouvé dans le fichier class.redux_helpers.php.
    Line 668: //$fp = fopen( $file, 'r' );
    fread trouvé dans le fichier class.redux_helpers.php.
    Line 671: //$file_data = fread( $fp, 8192 );
    fclose trouvé dans le fichier class.redux_helpers.php.
    Line 674: //fclose( $fp );
    file_get_contents trouvé dans le fichier parsers.php.
    Line 75: $file_contents = file_get_contents( $file );
    Line 315: $file_contents = file_get_contents( $file );
    file_get_contents trouvé dans le fichier parsers.php.
    Line 75: $file_contents = file_get_contents( $file );
    Line 315: $file_contents = file_get_contents( $file );
    fopen trouvé dans le fichier parsers.php.
    Line 463: $fp = $this->fopen( $file, 'r' );
    Line 689: function fopen( $filename, $mode = 'r' ) {
    Line 692: return fopen( $filename, $mode );
    fclose trouvé dans le fichier parsers.php.
    Line 512: $this->fclose($fp);
    Line 707: function fclose( $fp ) {
    Line 710: return fclose( $fp );
    fopen trouvé dans le fichier parsers.php.
    Line 463: $fp = $this->fopen( $file, 'r' );
    Line 689: function fopen( $filename, $mode = 'r' ) {
    Line 692: return fopen( $filename, $mode );
    fopen trouvé dans le fichier parsers.php.
    Line 463: $fp = $this->fopen( $file, 'r' );
    Line 689: function fopen( $filename, $mode = 'r' ) {
    Line 692: return fopen( $filename, $mode );
    fclose trouvé dans le fichier parsers.php.
    Line 512: $this->fclose($fp);
    Line 707: function fclose( $fp ) {
    Line 710: return fclose( $fp );
    fclose trouvé dans le fichier parsers.php.
    Line 512: $this->fclose($fp);
    Line 707: function fclose( $fp ) {
    Line 710: return fclose( $fp );
    file_get_contents trouvé dans le fichier porto-parsers.php.
    Line 78: $file_contents = file_get_contents( $file );
    Line 320: $file_contents = file_get_contents( $file );
    file_get_contents trouvé dans le fichier porto-parsers.php.
    Line 78: $file_contents = file_get_contents( $file );
    Line 320: $file_contents = file_get_contents( $file );
    fopen trouvé dans le fichier porto-parsers.php.
    Line 470: $fp = $this->fopen( $file, 'r' );
    Line 697: function fopen( $filename, $mode = 'r' ) {
    Line 700: return fopen( $filename, $mode );
    fclose trouvé dans le fichier porto-parsers.php.
    Line 520: $this->fclose($fp);
    Line 715: function fclose( $fp ) {
    Line 718: return fclose( $fp );
    fopen trouvé dans le fichier porto-parsers.php.
    Line 470: $fp = $this->fopen( $file, 'r' );
    Line 697: function fopen( $filename, $mode = 'r' ) {
    Line 700: return fopen( $filename, $mode );
    fopen trouvé dans le fichier porto-parsers.php.
    Line 470: $fp = $this->fopen( $file, 'r' );
    Line 697: function fopen( $filename, $mode = 'r' ) {
    Line 700: return fopen( $filename, $mode );
    fclose trouvé dans le fichier porto-parsers.php.
    Line 520: $this->fclose($fp);
    Line 715: function fclose( $fp ) {
    Line 718: return fclose( $fp );
    fclose trouvé dans le fichier porto-parsers.php.
    Line 520: $this->fclose($fp);
    Line 715: function fclose( $fp ) {
    Line 718: return fclose( $fp );
    file_get_contents trouvé dans le fichier importer-api.php.
    Line 156: $body = @file_get_contents( $url );
    fopen trouvé dans le fichier importer-api.php.
    Line 155: if( function_exists( 'ini_get' ) && ini_get( 'allow_url_fopen' ) ){
    Line 183: $fp = @fopen( $path_package, 'w' );
    fwrite trouvé dans le fichier importer-api.php.
    Line 184: $fwrite = @fwrite( $fp, $body );
    Line 186: if( false === $fwrite ){
    fclose trouvé dans le fichier importer-api.php.
    Line 185: @fclose( $fp );
  8. Code malveillant : Opérations réseau curl_init trouvé dans le fichier admin.php.
    Line 169: $ch = curl_init();
    curl_exec trouvé dans le fichier admin.php.
    Line 176: $result = json_decode( curl_exec($ch), true );
    curl_init trouvé dans le fichier changelog.php.
    Line 22: $ch = curl_init();
    curl_exec trouvé dans le fichier changelog.php.
    Line 25: $result = curl_exec( $ch );
  9. Menu Admin : Les thèmes doivent utiliser add_theme_page () pour ajouter des pages admin. Fichier admin.php :
    Line 76: $welcome_screen = add_menu_page( 'Porto', 'Porto', 'administrator', 'porto', array( $this, 'w
    Fichier admin.php :
    Line 77: $welcome       = add_submenu_page( 'porto', __( 'Theme license', 'Porto' ), __( 'Theme Licen
    Line 78: $changelog = add_submenu_page( 'porto', __( 'Change Log', 'Porto' ), __( 'Change Log', '
    Line 80: $theme_options = add_submenu_page( 'porto', __( 'Theme Options', 'Porto' ), __( 'Theme Optio
    Line 81: $theme_options = add_submenu_page( 'porto', __( 'Advanced Options', 'Porto' ), __( 'Advanced
    Line 83: $theme_options = add_submenu_page( 'porto', __( 'Theme Options', 'Porto' ), __( 'Theme Optio
    Fichier admin.php :
    Line 77: $welcome       = add_submenu_page( 'porto', __( 'Theme license', 'Porto' ), __( 'Theme Licen
    Line 78: $changelog = add_submenu_page( 'porto', __( 'Change Log', 'Porto' ), __( 'Change Log', '
    Line 80: $theme_options = add_submenu_page( 'porto', __( 'Theme Options', 'Porto' ), __( 'Theme Optio
    Line 81: $theme_options = add_submenu_page( 'porto', __( 'Advanced Options', 'Porto' ), __( 'Advanced
    Line 83: $theme_options = add_submenu_page( 'porto', __( 'Theme Options', 'Porto' ), __( 'Theme Optio
    Fichier admin.php :
    Line 77: $welcome       = add_submenu_page( 'porto', __( 'Theme license', 'Porto' ), __( 'Theme Licen
    Line 78: $changelog = add_submenu_page( 'porto', __( 'Change Log', 'Porto' ), __( 'Change Log', '
    Line 80: $theme_options = add_submenu_page( 'porto', __( 'Theme Options', 'Porto' ), __( 'Theme Optio
    Line 81: $theme_options = add_submenu_page( 'porto', __( 'Advanced Options', 'Porto' ), __( 'Advanced
    Line 83: $theme_options = add_submenu_page( 'porto', __( 'Theme Options', 'Porto' ), __( 'Theme Optio
    Fichier admin.php :
    Line 77: $welcome       = add_submenu_page( 'porto', __( 'Theme license', 'Porto' ), __( 'Theme Licen
    Line 78: $changelog = add_submenu_page( 'porto', __( 'Change Log', 'Porto' ), __( 'Change Log', '
    Line 80: $theme_options = add_submenu_page( 'porto', __( 'Theme Options', 'Porto' ), __( 'Theme Optio
    Line 81: $theme_options = add_submenu_page( 'porto', __( 'Advanced Options', 'Porto' ), __( 'Advanced
    Line 83: $theme_options = add_submenu_page( 'porto', __( 'Theme Options', 'Porto' ), __( 'Theme Optio
    Fichier admin.php :
    Line 77: $welcome       = add_submenu_page( 'porto', __( 'Theme license', 'Porto' ), __( 'Theme Licen
    Line 78: $changelog = add_submenu_page( 'porto', __( 'Change Log', 'Porto' ), __( 'Change Log', '
    Line 80: $theme_options = add_submenu_page( 'porto', __( 'Theme Options', 'Porto' ), __( 'Theme Optio
    Line 81: $theme_options = add_submenu_page( 'porto', __( 'Advanced Options', 'Porto' ), __( 'Advanced
    Line 83: $theme_options = add_submenu_page( 'porto', __( 'Theme Options', 'Porto' ), __( 'Theme Optio
    Fichier speed_optimize_wizard.php :
    Line 90: add_submenu_page('porto', esc_html__( 'Speed Optimize Wizard','porto' ), es
    Fichier setup_wizard.php :
    Line 523: add_submenu_page('porto', esc_html__( 'Setup Wizard','porto' ), esc_html__(
    Fichier framework.php :
    Line 1299: // wrappers and need to be appened to using add_submenu_page.
    Line 1350: $this->page = call_user_func( 'add_submenu_page', $page_parent, $page_title, $menu_title, $page_permission
    Line 1401: call_user_func( 'add_submenu_page', $this->args['page_slug'], $section['title'], $section['t
    Fichier framework.php :
    Line 1299: // wrappers and need to be appened to using add_submenu_page.
    Line 1350: $this->page = call_user_func( 'add_submenu_page', $page_parent, $page_title, $menu_title, $page_permission
    Line 1401: call_user_func( 'add_submenu_page', $this->args['page_slug'], $section['title'], $section['t
    Fichier framework.php :
    Line 1376: $this->page = call_user_func( 'add_menu_page', $this->args['page_title'], $this->args['menu_title'], $this
    Fichier framework.php :
    Line 1299: // wrappers and need to be appened to using add_submenu_page.
    Line 1350: $this->page = call_user_func( 'add_submenu_page', $page_parent, $page_title, $menu_title, $page_permission
    Line 1401: call_user_func( 'add_submenu_page', $this->args['page_slug'], $section['title'], $section['t
    Fichier welcome.php :
    Line 199: $page = 'add_management_page';
  10. Barre d'admin cachée : Barre d'admin cachée Les thèmes ne doivent pas cacher la barre d'admin. Détecté dans le fichier functions.php.
  11. Fonctions obsolètes : screen_icon screen_icon trouvé dans le fichier wordpress-importer.php . Obsolète depuis la version de la 3.8.
    Line 1305: screen_icon();
  12. Fonctions obsolètes : get_option get_option('home') trouvé dans le fichier layout.php. Il est préférable d'utiliser home_url().
    Line 432: if(is_404()) $url = get_option('home'); else $url = '';
    Line 550: if(is_404()) $url = get_option('home'); else $url = '';
    Line 645: if(is_404()) $url = get_option('home'); else $url = '';
    Line 929: if(is_404()) $url = get_option('home'); else $url = '';
    Line 1225: if(is_404()) $url = get_option('home'); else $url = '';
    Line 1490: if(is_404()) $url = get_option('home'); else $url = '';
  13. Inclusion de plugin : Présence de fichier zip Les plugins ne sont pas autorisés dans les thèmes. Le fichier zip porto-functionality.zip geodirectory-porto-theme-compatibility-pack.zip a été trouvé.
Attention
  1. Script de core désabonné : Désabonnement d'un script de coreAppel à wp_deregister_script dans functions.php. Les thèmes ne doivent appeler wp_deregister_script sur des scripts du core.
    Line 457: wp_deregister_script( 'porto-plugins-popper' );
    Line 465: wp_deregister_script( 'porto-bootstrap' );
    Line 469: wp_deregister_script( 'porto-plugins' );
    Line 491: wp_deregister_script( 'porto-theme' );
    Appel à wp_deregister_script dans vc_pie.php. Les thèmes ne doivent appeler wp_deregister_script sur des scripts du core.
    Line 48: wp_deregister_script( 'vc_pie' );
    Appel à wp_deregister_script dans vc_progress_bar.php. Les thèmes ne doivent appeler wp_deregister_script sur des scripts du core.
    Line 42: wp_deregister_script( 'waypoints' );
    Appel à wp_deregister_script dans framework.php. Les thèmes ne doivent appeler wp_deregister_script sur des scripts du core.
    Line 543: wp_deregister_script( 'wpb_ace' );
    Appel à wp_deregister_script dans enqueue.php. Les thèmes ne doivent appeler wp_deregister_script sur des scripts du core.
    Line 215: wp_deregister_script( 'jquerySelect2' );
  2. tags du thème : Présence de tags inconnusTag inconnu woocommerce trouvé dans l'entête du fichier style.css.Tag inconnu corporate trouvé dans l'entête du fichier style.css.Tag inconnu ecommerce trouvé dans l'entête du fichier style.css.Tag inconnu responsive trouvé dans l'entête du fichier style.css.Le tag blue est obsolète, il ne doit pas figurer dans le header de style.css.Le tag black est obsolète, il ne doit pas figurer dans le header de style.css.Le tag green est obsolète, il ne doit pas figurer dans le header de style.css.Le tag white est obsolète, il ne doit pas figurer dans le header de style.css.Le tag light est obsolète, il ne doit pas figurer dans le header de style.css.Le tag dark est obsolète, il ne doit pas figurer dans le header de style.css.Le tag red est obsolète, il ne doit pas figurer dans le header de style.css.Le tag fixed-layout est obsolète, il ne doit pas figurer dans le header de style.css.Le tag responsive-layout est obsolète, il ne doit pas figurer dans le header de style.css.Les thèmes qui utilisent le tag accessibility-ready doivent concoder avec les règles de la revue d'accessibilité.
    Voir https://make.wordpress.org/themes/handbook/review/accessibility/
  3. Text domain : Utilisation incorrecte des fonctions de traduction.Utilisation d'une fonction de traduction avec un nombre incorrect d'arguments. Fonction _n, avec les arguments '%s download remaining', '%s downloads remaining', downloads_remaining, 'woocommerce' dans le fichier my-downloads.php.Une fonction de traduction utilisée sans text-domain. Fonction __, avec les arguments 'porto' dans le fichier shipping-calculator.php.Une fonction de traduction utilisée sans text-domain. Fonction __, avec les arguments 'porto' dans le fichier cart-totals-v1.php.Une fonction de traduction utilisée sans text-domain. Fonction __, avec les arguments 'porto' dans le fichier cart-totals-v2.php.Une fonction de traduction utilisée sans text-domain. Fonction __, avec les arguments 'Header builder' dans le fichier settings.php.Une fonction de traduction utilisée sans text-domain. Fonction esc_html__, avec les arguments 'Welcome to the Speed Optimize Wizard for %s.' dans le fichier speed_optimize_wizard.php.Une fonction de traduction utilisée sans text-domain. Fonction esc_html_e, avec les arguments 'Not right now' dans le fichier speed_optimize_wizard.php.Une fonction de traduction utilisée sans text-domain. Fonction esc_html__, avec les arguments 'Welcome to the setup wizard for %s.' dans le fichier setup_wizard.php.Une fonction de traduction utilisée sans text-domain. Fonction esc_html_e, avec les arguments 'Not right now' dans le fichier setup_wizard.php.Une fonction de traduction utilisée sans text-domain. Fonction __, avec les arguments 'No Comments' dans le fichier general.php.Une fonction de traduction utilisée sans text-domain. Fonction __, avec les arguments '1 Comment' dans le fichier general.php.Une fonction de traduction utilisée sans text-domain. Fonction __, avec les arguments '% Comments' dans le fichier general.php.Une fonction de traduction utilisée sans text-domain. Fonction __, avec les arguments 'Comments Off' dans le fichier general.php.Une fonction de traduction utilisée sans text-domain. Fonction __, avec les arguments 'Enter your password to view comments.' dans le fichier general.php.Une fonction de traduction utilisée sans text-domain. Fonction __, avec les arguments 'Comment on %s' dans le fichier general.php.Une fonction de traduction utilisée sans text-domain. Fonction __, avec les arguments '% Comments' dans le fichier general.php.Une fonction de traduction utilisée sans text-domain. Fonction __, avec les arguments 'No Comments' dans le fichier general.php.Une fonction de traduction utilisée sans text-domain. Fonction __, avec les arguments '1 Comment' dans le fichier general.php.Une fonction de traduction utilisée sans text-domain. Fonction __, avec les arguments 'Go to Home Page' dans le fichier breadcrumbs.php.Une fonction de traduction utilisée sans text-domain. Fonction __, avec les arguments 'Use commas instead of %s to separate excluded categories.' dans le fichier woocommerce.php.Une fonction de traduction utilisée sans text-domain. Fonction esc_attr_e, avec les arguments 'billing_first_name' dans le fichier woocommerce.php.Une fonction de traduction utilisée sans text-domain. Fonction esc_attr_e, avec les arguments 'billing_last_name' dans le fichier woocommerce.php.Plusieurs text-domain sont utilisés dans le thème. Cela signifie que le thème n'est pas compatible avec les language packs de WordPress. Les domaines trouvés sont porto, woocommerce, yith-plugin-fw, downloads_remaining, js_composer, Porto, redux-framework, themecheck, tgmpa, wordpress-importer, wysija-newsletters, porto-shortcodes, blank, textdomain.
  4. Balises courtes PHP : Présence de balises PHP courtesPrésence de balises PHP courtes dans le fichier parsedown.php. "Il est conseillé de ne pas les utiliser car elles ne sont seulement disponibles lors de l'activation de la directive de configuration short_open_tag du php.ini, ou si PHP a été configuré avec l'option --enable-short-tags" (php.net), ce qui n'est pas le cas sur de nombreux serveurs.
    Line 772: if (preg_match('/^\[(.+?)\]:[ ]*<?(\S+?)>?(?:[ ]+['\'(](.+)['\')])?[ ]*$/', $Line['text'], $matches))
  5. Barre d'admin cachée : Barre d'admin cachée dans CSSLes thèmes ne doivent pas cacher la barre d'admin. Détecté dans le fichier theme.css.
  6. Fonctions obsolètes : screen_iconscreen_icon trouvé dans le fichier wordpress-importer.php . Obsolète depuis la version de la 3.8.
    Line 1305: screen_icon();
  7. Implémentation de l'internationalisation : Utilisation correcte de _e(La variable $_POST a été trouvée dans une fonction de traduction dans le fichier woocommerce.php . Les appels de fonctions de traduction ne doivent pas contenir de variables PHP.
    Line 969: <input type='text' class='woocommerce-Input woocommerce-Input--text input-text' name='billing_first_name' id='reg_billing_first_name' value='<?php if ( ! empty( $_POST['billing_first_name'] ) ) esc_attr_e( $_POST['billing_first_name'] ); ?>' />
    La variable $_POST a été trouvée dans une fonction de traduction dans le fichier woocommerce.php . Les appels de fonctions de traduction ne doivent pas contenir de variables PHP.
    Line 973: <input type='text' class='woocommerce-Input woocommerce-Input--text input-text' name='billing_last_name' id='reg_billing_last_name' value='<?php if ( ! empty( $_POST['billing_last_name'] ) ) esc_attr_e( $_POST['billing_last_name'] ); ?>' />
  8. Implémentation de l'internationalisation : Utilisation correcte de ___al(La variable $cvalue a été trouvée dans une fonction de traduction dans le fichier shipping-calculator.php . Les appels de fonctions de traduction ne doivent pas contenir de variables PHP.
    Line 52: echo '<option value='' . esc_attr( $ckey ) . '' ' . selected( $current_r, $ckey, false ) . '>' . __( esc_html( $cvalue ), 'porto' ) .'</option>';
    La variable $key a été trouvée dans une fonction de traduction dans le fichier speed_optimize_wizard.php . Les appels de fonctions de traduction ne doivent pas contenir de variables PHP.
    Line 587: <?php printf( __( $key . ' <a href='%s' target='_blank'>%s</a>', 'porto' ), 'https://word
  9. Implémentation de l'internationalisation : Utilisation correcte de esc_attr_e(La variable $_POST a été trouvée dans une fonction de traduction dans le fichier woocommerce.php . Les appels de fonctions de traduction ne doivent pas contenir de variables PHP.
    Line 969: <input type='text' class='woocommerce-Input woocommerce-Input--text input-text' name='billing_first_name' id='reg_billing_first_name' value='<?php if ( ! empty( $_POST['billing_first_name'] ) ) esc_attr_e( $_POST['billing_first_name'] ); ?>' />
    La variable $_POST a été trouvée dans une fonction de traduction dans le fichier woocommerce.php . Les appels de fonctions de traduction ne doivent pas contenir de variables PHP.
    Line 973: <input type='text' class='woocommerce-Input woocommerce-Input--text input-text' name='billing_last_name' id='reg_billing_last_name' value='<?php if ( ! empty( $_POST['billing_last_name'] ) ) esc_attr_e( $_POST['billing_last_name'] ); ?>' />
  10. Screenshot : Copie d'écranLa taille du screenshot est 880x660px. La taille recommandée est 1200x900, pour prendre en compte les affichages HiDPI. Bien qu'une résolution de 1200x900 soit recommandée, toutes les images au format 4:3 sont acceptables.Mauvaise extension de fichier screenshot ! Le fichier screenshot.png n'est pas un véritable fichier JPG. Le type détecté est : "image/png".
Info
  1. Liens statiques : Présence de liens codés en durLien potentiellement codés en dur trouvé dans le fichier yit-pointers.php.
    Line 68: 'content'  => sprintf( '<h3> %s </h3> <p> %s </p> <p> %s <a href='http://yithemes.com/product-category/plugins/' target='_blank'>Yithemes.com
    Line 81: 'content'  => sprintf( '<h3> %s </h3> <p> %s </p> <p> %s <a href='http://yithemes.com/product-category/plugins/' target='_blank'>Yithemes.com
    Line 68: 'content'  => sprintf( '<h3> %s </h3> <p> %s </p> <p> %s <a href='http://yithemes.com/product-category/plugins/' target='_blank'>Yithemes.com
    Line 81: 'content'  => sprintf( '<h3> %s </h3> <p> %s </p> <p> %s <a href='http://yithemes.com/product-category/plugins/' target='_blank'>Yithemes.com
    Lien potentiellement codés en dur trouvé dans le fichier header-builder.php.
    Line 353: <a href='https://youtu.be/hh3CHKv0l74' class='button' target='_blank'><?php esc_html
    Lien potentiellement codés en dur trouvé dans le fichier admin.php.
    Line 32: $this->add_wp_toolbar_menu_item( $porto_parent_menu_title, false, admin_url( 'admin.php?page=porto' ), array( 'class' => 'porto-menu' ), 'porto' );
    Line 39: $this->add_wp_toolbar_menu_item( __( 'Theme License', 'porto' ), 'porto', admin_url( 'admin.php?page=porto' ) );
    Line 40: $this->add_wp_toolbar_menu_item( __( 'Change Log', 'porto' ), 'porto', admin_url( 'admin.php?page=porto-changelog' ) );
    Line 41: $this->add_wp_toolbar_menu_item( __( 'Setup Wizard', 'porto' ), 'porto', admin_url( 'admin.php?page=porto-setup-wizard' ) );
    Line 42: $this->add_wp_toolbar_menu_item( __( 'Speed Optimize Wizard', 'porto' ), 'porto', admin_url( 'admin.php?page=porto-speed-optimize-wizard' ) );
    Line 340: <p>Please <a href='admin.php?page=porto'>register</a> porto theme to get access to pre-built d
    Lien potentiellement codés en dur trouvé dans le fichier settings.php.
    Line 6842: 'desc' => __('Please input animation. Please reference <a href='http://daneden.github.io/animate.css/'>animate.css</a>. ex: fadeIn', 'porto
    Line 6849: 'desc' => __('Please input animation. Please reference <a href='http://daneden.github.io/animate.css/'>animate.css</a>. ex: fadeOut', 'port
    Line 6842: 'desc' => __('Please input animation. Please reference <a href='http://daneden.github.io/animate.css/'>animate.css</a>. ex: fadeIn', 'porto
    Line 6849: 'desc' => __('Please input animation. Please reference <a href='http://daneden.github.io/animate.css/'>animate.css</a>. ex: fadeOut', 'port
    Lien potentiellement codés en dur trouvé dans le fichier speed_optimize_wizard.php.
    Line 600: <a href='https://gtmetrix.com/leverage-browser-caching.html' target='_blank'><?php e
    Lien potentiellement codés en dur trouvé dans le fichier setup_wizard.php.
    Line 1351: <p>More details about item support can be found in the ThemeForest <a href='http://themeforest.net/page/item_support_policy' target='_blank'>Item Suppo
    Line 1370: <p>Please come back and <a href='http://themeforest.net/downloads' target='_blank'>leave a 5-star rating</a>
    Line 1386: <li class='rating'><a href='http://themeforest.net/downloads'><?php esc_html_e( 'Leave an Item Rating',
    Line 1383: <li class='documentation'><a href='http://www.portotheme.com/wordpress/porto/documentation'><?php esc_html_e( 
    Line 1384: <li class='woocommerce documentation'><a href='https://docs.woocommerce.com/document/woocommerce-101-video-series/'><?php 
    Line 1370: <p>Please come back and <a href='http://themeforest.net/downloads' target='_blank'>leave a 5-star rating</a>
    Line 1386: <li class='rating'><a href='http://themeforest.net/downloads'><?php esc_html_e( 'Leave an Item Rating',
    Lien potentiellement codés en dur trouvé dans le fichier welcome.php.
    Line 480: <a href='http://docs.reduxframework.com/' class='docs button button-primary'>Docs</a
    Line 483: <a href='https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=MMFMHW
    Lien potentiellement codés en dur trouvé dans le fichier class-tgm-plugin-activation.php.
    Line 2731: $action_links[ 'register' ] = '<span style='color:#666'>Please</span> <a href='admin.php?page=porto'>register</a> <span style='color:#666'>the theme</span
  2. Fichiers optionnels : Présence du fichierde style pour les écritures de droite vers la gauche rtl.cssCe thème ne contient pas le fichier optionnel rtl.php.
  3. Fichiers optionnels : Présence du fichier-template fron-*page.phpCe thème ne contient pas le fichier optionnel front-page.php.
  4. Fichiers optionnels : Présence du fichier-template de page d'accueil home.phpCe thème ne contient pas le fichier optionnel home.php.
  5. Fichiers optionnels : Présence du fichier-template de catégorie category.phpCe thème ne contient pas le fichier optionnel category.php.
  6. Fichiers optionnels : Présence du fichier-template des tags tag.phpCe thème ne contient pas le fichier optionnel tag.php.
  7. Fichiers optionnels : Présence du fichier template de taxinomie taxonomy.phpCe thème ne contient pas le fichier optionnel taxonomy.php.
  8. Fichiers optionnels : Présence du fichier-template author.phpCe thème ne contient pas le fichier optionnel author.php.
  9. Fichiers optionnels : Présence de du fichier-template des dates et heures date.phpCe thème ne contient pas le fichier optionnel date.php.
  10. Fichiers optionnels : Présence du fichier-template des pièces jointes attachment.phpCe thème ne contient pas le fichier optionnel attachment.php.
  11. Fichiers optionnels : Présence du fichier-template des images image.phpCe thème ne contient pas le fichier optionnel image.php.
  12. Utilisation d'includes : Utilisation de include ou de de requireLe thème semble utiliser include ou require : style.php
    Line 74: require_once ( porto_lib . '/lib/color-lib.php' );
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : woocommerce-swatches.php
    Line 23: require 'classes/class-product-swatches-tab.php';
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : customizer.php
    Line 43: require_once ( porto_lib . '/lib/color-lib.php' );
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : header-builder.php
    Line 135: include_once( 'classes/simple-notice-control.php' );
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : Parser.php
    Line 323: if ($this->literal('@include') &&
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : admin.php
    Line 89: require_once( porto_admin . '/admin_pages/welcome.php' );
    Line 93: require_once( porto_admin . '/admin_pages/changelog.php' );
    Line 287: require_once(porto_admin . '/theme_options.php');
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : theme_options.php
    Line 7: require_once( porto_admin . '/functions.php' );
    Line 10: require_once( porto_admin . '/ReduxCore/framework.php' );
    Line 13: require_once( porto_admin . '/theme_options/settings.php' );
    Line 15: require_once( porto_admin . '/theme_options/save_settings.php' );
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : save_settings.php
    Line 175: require_once( porto_admin . '/lessphp/lessc.inc.php' );
    Line 196: require_once( porto_admin . '/scssphp/scss.inc.php' );
    Line 247: require_once( porto_admin . '/scssphp/scss.inc.php' );
    Line 288: require_once( porto_admin . '/scssphp/scss.inc.php' );
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : Functions.php
    Line 907: $mime = require('mime');
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : Cache.php
    Line 3: require_once( dirname(__FILE__).'/Version.php');
    Line 151: require_once($file);
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : Parser.php
    Line 3: require_once( dirname(__FILE__).'/Cache.php');
    Line 669: return include($cache_file);
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : setup_wizard.php
    Line 1420: require_once( ABSPATH . '/wp-admin/includes/file.php' );
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : framework.php
    Line 1644: require_once 'core/enqueue.php';
    Line 2800: require_once 'core/enqueue.php';
    Line 2858: require_once 'core/panel.php';
    Line 3210: require_once 'core/panel.php';
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : extension_customizer.php
    Line 790: require_once( $class_file );
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : extension_custom_fonts.php
    Line 137: //require_once 'System.php'; // Wordpress core file
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : class.redux_api.php
    Line 539: include_once( $api_check );
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : welcome.php
    Line 376: require_once 'views/about.php';
    Line 391: require_once 'views/changelog.php';
    Line 406: require_once 'views/extensions.php';
    Line 422: require_once 'views/support.php';
    Line 437: require_once 'views/credits.php';
    Line 452: require_once 'views/status_report.php';
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : mini-status.php
    Line 12: require_once( ABSPATH . '/wp-admin/includes/file.php' );
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : plugins.php
    Line 267: require_once(ABSPATH . 'wp-admin/includes/plugin.php');
    Line 274: include_once( WC()->plugin_path() . '/includes/wc-template-functions.php' )
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : porto-wordpress-importer.php
    Line 207: require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : wordpress-importer.php
    Line 167: require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : importer-api.php
    Line 61: require_once( ABSPATH . '/wp-admin/includes/file.php' );
    Line 174: require_once( ABSPATH . '/wp-admin/includes/file.php' );
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : layout.php
    Line 5: require_once(porto_functions . '/layout/breadcrumbs.php');
    Line 6: require_once(porto_functions . '/layout/page-title.php');
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : class-dynamic-style.php
    Line 104: require_once( porto_dir . '/style.php' );
    Line 106: require_once( porto_dir . '/style-internal.php' );
    Line 120: require_once( porto_dir . '/style-internal.php' );
    Line 175: require_once( porto_admin . '/scssphp/scss.inc.php' );
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : content_type.php
    Line 2: require_once(porto_functions . '/content_type/portfolio_like.php');
    Line 3: require_once(porto_functions . '/content_type/blog_like.php');
    Line 4: require_once(porto_functions . '/content_type/meta_values.php');
    Line 5: require_once(porto_functions . '/content_type/meta_fields.php');
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : woocommerce.php
    Line 6: require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : content_types.php
    Line 3: require_once(porto_content_types . '/post.php');
    Line 4: require_once(porto_content_types . '/page.php');
    Line 6: require_once(porto_content_types . '/product.php');
    Line 8: require_once(porto_content_types . '/portfolio.php');
    Line 9: require_once(porto_content_types . '/member.php');
    Line 10: require_once(porto_content_types . '/faq.php');
    Line 11: require_once(porto_content_types . '/block.php');
    Line 12: require_once(porto_content_types . '/event.php');
    Line 596: require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.

Ceci est un thème distribué surThemeForest. Etant donné que tous les thèmes de Themeforest sont validés par un humain avant d'être mis en ligne, les règles de vérification de Themeforest sont plus permissives que celles de themecheck et peuvent donner un meilleur score de vérification ( Themeforest requirements ).

0
Alertes critiques
  1. Customizer : Sanitization des Customizer settings Un setting Customizer a été trouvé sans callback de sanitization dans le fichier header-builder.php. Tous les appels à la méthode add_setting() doivent déclarer une fonction de filtrage.Un setting Customizer a été trouvé sans callback de sanitization dans le fichier extension_customizer.php. Tous les appels à la méthode add_setting() doivent déclarer une fonction de filtrage.
  2. Title : Title Les tags <title> ne peuvent contenir qu'un appe à wp_title(). wp_title filter soit être utilisée pour modifier la sortie.Les tags <title> ne peuvent contenir qu'un appe à wp_title(). wp_title filter soit être utilisée pour modifier la sortie.
  3. Failles de sécurité : Modification des paramètres du serveur PHP ini_set trouvé dans le fichier save_settings.php.
    Line 157: @ini_set( ' max_execution_time', '10000' );
    Line 158: @ini_set( 'memory_limit', '256M' );
    ini_set trouvé dans le fichier Parser.php.
    Line 94: @ini_set('mbstring.internal_encoding', 'ascii');
    Line 185: @ini_set('precision',16);
    Line 223: @ini_set('precision',$precision);
    Line 229: @ini_set('mbstring.internal_encoding', $this->mb_internal_encoding);
    ini_set trouvé dans le fichier setup_wizard.php.
    Line 1527: @ini_set('max_execution_time', '10000');
    Line 1528: @ini_set('memory_limit', '256M');
    Line 1637: @ini_set('max_execution_time', '10000');
    Line 1638: @ini_set('memory_limit', '256M');
    Line 1689: @ini_set('max_execution_time', '10000');
    Line 1690: @ini_set('memory_limit', '256M');
    ini_set trouvé dans le fichier class-dynamic-style.php.
    Line 56: @ini_set('max_execution_time', '10000');
    Line 57: @ini_set('memory_limit', '256M');
  4. Fichiers indésirables : fichiers ou dossiers cachés .easymin a été trouvé.
  5. Code malveillant : Opérations réseau curl_init trouvé dans le fichier admin.php.
    Line 169: $ch = curl_init();
    curl_exec trouvé dans le fichier admin.php.
    Line 176: $result = json_decode( curl_exec($ch), true );
    curl_init trouvé dans le fichier changelog.php.
    Line 22: $ch = curl_init();
    curl_exec trouvé dans le fichier changelog.php.
    Line 25: $result = curl_exec( $ch );
  6. Barre d'admin cachée : Barre d'admin cachée Les thèmes ne doivent pas cacher la barre d'admin. Détecté dans le fichier functions.php.
  7. Fonctions obsolètes : screen_icon screen_icon trouvé dans le fichier wordpress-importer.php . Obsolète depuis la version de la 3.8.
    Line 1305: screen_icon();
  8. Fonctions obsolètes : get_option get_option('home') trouvé dans le fichier layout.php. Il est préférable d'utiliser home_url().
    Line 432: if(is_404()) $url = get_option('home'); else $url = '';
    Line 550: if(is_404()) $url = get_option('home'); else $url = '';
    Line 645: if(is_404()) $url = get_option('home'); else $url = '';
    Line 929: if(is_404()) $url = get_option('home'); else $url = '';
    Line 1225: if(is_404()) $url = get_option('home'); else $url = '';
    Line 1490: if(is_404()) $url = get_option('home'); else $url = '';
  9. Inclusion de plugin : Présence de fichier zip Les plugins ne sont pas autorisés dans les thèmes. Le fichier zip porto-functionality.zip geodirectory-porto-theme-compatibility-pack.zip a été trouvé.
Attention
  1. Script de core désabonné : Désabonnement d'un script de coreAppel à wp_deregister_script dans functions.php. Les thèmes ne doivent appeler wp_deregister_script sur des scripts du core.
    Line 457: wp_deregister_script( 'porto-plugins-popper' );
    Line 465: wp_deregister_script( 'porto-bootstrap' );
    Line 469: wp_deregister_script( 'porto-plugins' );
    Line 491: wp_deregister_script( 'porto-theme' );
    Appel à wp_deregister_script dans vc_pie.php. Les thèmes ne doivent appeler wp_deregister_script sur des scripts du core.
    Line 48: wp_deregister_script( 'vc_pie' );
    Appel à wp_deregister_script dans vc_progress_bar.php. Les thèmes ne doivent appeler wp_deregister_script sur des scripts du core.
    Line 42: wp_deregister_script( 'waypoints' );
    Appel à wp_deregister_script dans framework.php. Les thèmes ne doivent appeler wp_deregister_script sur des scripts du core.
    Line 543: wp_deregister_script( 'wpb_ace' );
    Appel à wp_deregister_script dans enqueue.php. Les thèmes ne doivent appeler wp_deregister_script sur des scripts du core.
    Line 215: wp_deregister_script( 'jquerySelect2' );
  2. tags du thème : Présence de tags inconnusTag inconnu woocommerce trouvé dans l'entête du fichier style.css.Tag inconnu corporate trouvé dans l'entête du fichier style.css.Tag inconnu ecommerce trouvé dans l'entête du fichier style.css.Tag inconnu responsive trouvé dans l'entête du fichier style.css.Le tag blue est obsolète, il ne doit pas figurer dans le header de style.css.Le tag black est obsolète, il ne doit pas figurer dans le header de style.css.Le tag green est obsolète, il ne doit pas figurer dans le header de style.css.Le tag white est obsolète, il ne doit pas figurer dans le header de style.css.Le tag light est obsolète, il ne doit pas figurer dans le header de style.css.Le tag dark est obsolète, il ne doit pas figurer dans le header de style.css.Le tag red est obsolète, il ne doit pas figurer dans le header de style.css.Le tag fixed-layout est obsolète, il ne doit pas figurer dans le header de style.css.Le tag responsive-layout est obsolète, il ne doit pas figurer dans le header de style.css.Les thèmes qui utilisent le tag accessibility-ready doivent concoder avec les règles de la revue d'accessibilité.
    Voir https://make.wordpress.org/themes/handbook/review/accessibility/
  3. Text domain : Utilisation incorrecte des fonctions de traduction.Utilisation d'une fonction de traduction avec un nombre incorrect d'arguments. Fonction _n, avec les arguments '%s download remaining', '%s downloads remaining', downloads_remaining, 'woocommerce' dans le fichier my-downloads.php.Une fonction de traduction utilisée sans text-domain. Fonction __, avec les arguments 'porto' dans le fichier shipping-calculator.php.Une fonction de traduction utilisée sans text-domain. Fonction __, avec les arguments 'porto' dans le fichier cart-totals-v1.php.Une fonction de traduction utilisée sans text-domain. Fonction __, avec les arguments 'porto' dans le fichier cart-totals-v2.php.Une fonction de traduction utilisée sans text-domain. Fonction __, avec les arguments 'Header builder' dans le fichier settings.php.Une fonction de traduction utilisée sans text-domain. Fonction esc_html__, avec les arguments 'Welcome to the Speed Optimize Wizard for %s.' dans le fichier speed_optimize_wizard.php.Une fonction de traduction utilisée sans text-domain. Fonction esc_html_e, avec les arguments 'Not right now' dans le fichier speed_optimize_wizard.php.Une fonction de traduction utilisée sans text-domain. Fonction esc_html__, avec les arguments 'Welcome to the setup wizard for %s.' dans le fichier setup_wizard.php.Une fonction de traduction utilisée sans text-domain. Fonction esc_html_e, avec les arguments 'Not right now' dans le fichier setup_wizard.php.Une fonction de traduction utilisée sans text-domain. Fonction __, avec les arguments 'No Comments' dans le fichier general.php.Une fonction de traduction utilisée sans text-domain. Fonction __, avec les arguments '1 Comment' dans le fichier general.php.Une fonction de traduction utilisée sans text-domain. Fonction __, avec les arguments '% Comments' dans le fichier general.php.Une fonction de traduction utilisée sans text-domain. Fonction __, avec les arguments 'Comments Off' dans le fichier general.php.Une fonction de traduction utilisée sans text-domain. Fonction __, avec les arguments 'Enter your password to view comments.' dans le fichier general.php.Une fonction de traduction utilisée sans text-domain. Fonction __, avec les arguments 'Comment on %s' dans le fichier general.php.Une fonction de traduction utilisée sans text-domain. Fonction __, avec les arguments '% Comments' dans le fichier general.php.Une fonction de traduction utilisée sans text-domain. Fonction __, avec les arguments 'No Comments' dans le fichier general.php.Une fonction de traduction utilisée sans text-domain. Fonction __, avec les arguments '1 Comment' dans le fichier general.php.Une fonction de traduction utilisée sans text-domain. Fonction __, avec les arguments 'Go to Home Page' dans le fichier breadcrumbs.php.Une fonction de traduction utilisée sans text-domain. Fonction __, avec les arguments 'Use commas instead of %s to separate excluded categories.' dans le fichier woocommerce.php.Une fonction de traduction utilisée sans text-domain. Fonction esc_attr_e, avec les arguments 'billing_first_name' dans le fichier woocommerce.php.Une fonction de traduction utilisée sans text-domain. Fonction esc_attr_e, avec les arguments 'billing_last_name' dans le fichier woocommerce.php.Plusieurs text-domain sont utilisés dans le thème. Cela signifie que le thème n'est pas compatible avec les language packs de WordPress. Les domaines trouvés sont porto, woocommerce, yith-plugin-fw, downloads_remaining, js_composer, Porto, redux-framework, themecheck, tgmpa, wordpress-importer, wysija-newsletters, porto-shortcodes, blank, textdomain.
  4. Balises courtes PHP : Présence de balises PHP courtesPrésence de balises PHP courtes dans le fichier parsedown.php. "Il est conseillé de ne pas les utiliser car elles ne sont seulement disponibles lors de l'activation de la directive de configuration short_open_tag du php.ini, ou si PHP a été configuré avec l'option --enable-short-tags" (php.net), ce qui n'est pas le cas sur de nombreux serveurs.
    Line 772: if (preg_match('/^\[(.+?)\]:[ ]*<?(\S+?)>?(?:[ ]+['\'(](.+)['\')])?[ ]*$/', $Line['text'], $matches))
  5. Barre d'admin cachée : Barre d'admin cachée dans CSSLes thèmes ne doivent pas cacher la barre d'admin. Détecté dans le fichier theme.css.
  6. Fonctions obsolètes : screen_iconscreen_icon trouvé dans le fichier wordpress-importer.php . Obsolète depuis la version de la 3.8.
    Line 1305: screen_icon();
  7. Screenshot : Copie d'écranLa taille du screenshot est 880x660px. La taille recommandée est 1200x900, pour prendre en compte les affichages HiDPI. Bien qu'une résolution de 1200x900 soit recommandée, toutes les images au format 4:3 sont acceptables.Mauvaise extension de fichier screenshot ! Le fichier screenshot.png n'est pas un véritable fichier JPG. Le type détecté est : "image/png".
Info
  1. Liens statiques : Présence de liens codés en durLien potentiellement codés en dur trouvé dans le fichier yit-pointers.php.
    Line 68: 'content'  => sprintf( '<h3> %s </h3> <p> %s </p> <p> %s <a href='http://yithemes.com/product-category/plugins/' target='_blank'>Yithemes.com
    Line 81: 'content'  => sprintf( '<h3> %s </h3> <p> %s </p> <p> %s <a href='http://yithemes.com/product-category/plugins/' target='_blank'>Yithemes.com
    Line 68: 'content'  => sprintf( '<h3> %s </h3> <p> %s </p> <p> %s <a href='http://yithemes.com/product-category/plugins/' target='_blank'>Yithemes.com
    Line 81: 'content'  => sprintf( '<h3> %s </h3> <p> %s </p> <p> %s <a href='http://yithemes.com/product-category/plugins/' target='_blank'>Yithemes.com
    Lien potentiellement codés en dur trouvé dans le fichier header-builder.php.
    Line 353: <a href='https://youtu.be/hh3CHKv0l74' class='button' target='_blank'><?php esc_html
    Lien potentiellement codés en dur trouvé dans le fichier admin.php.
    Line 32: $this->add_wp_toolbar_menu_item( $porto_parent_menu_title, false, admin_url( 'admin.php?page=porto' ), array( 'class' => 'porto-menu' ), 'porto' );
    Line 39: $this->add_wp_toolbar_menu_item( __( 'Theme License', 'porto' ), 'porto', admin_url( 'admin.php?page=porto' ) );
    Line 40: $this->add_wp_toolbar_menu_item( __( 'Change Log', 'porto' ), 'porto', admin_url( 'admin.php?page=porto-changelog' ) );
    Line 41: $this->add_wp_toolbar_menu_item( __( 'Setup Wizard', 'porto' ), 'porto', admin_url( 'admin.php?page=porto-setup-wizard' ) );
    Line 42: $this->add_wp_toolbar_menu_item( __( 'Speed Optimize Wizard', 'porto' ), 'porto', admin_url( 'admin.php?page=porto-speed-optimize-wizard' ) );
    Line 340: <p>Please <a href='admin.php?page=porto'>register</a> porto theme to get access to pre-built d
    Lien potentiellement codés en dur trouvé dans le fichier settings.php.
    Line 6842: 'desc' => __('Please input animation. Please reference <a href='http://daneden.github.io/animate.css/'>animate.css</a>. ex: fadeIn', 'porto
    Line 6849: 'desc' => __('Please input animation. Please reference <a href='http://daneden.github.io/animate.css/'>animate.css</a>. ex: fadeOut', 'port
    Line 6842: 'desc' => __('Please input animation. Please reference <a href='http://daneden.github.io/animate.css/'>animate.css</a>. ex: fadeIn', 'porto
    Line 6849: 'desc' => __('Please input animation. Please reference <a href='http://daneden.github.io/animate.css/'>animate.css</a>. ex: fadeOut', 'port
    Lien potentiellement codés en dur trouvé dans le fichier speed_optimize_wizard.php.
    Line 600: <a href='https://gtmetrix.com/leverage-browser-caching.html' target='_blank'><?php e
    Lien potentiellement codés en dur trouvé dans le fichier setup_wizard.php.
    Line 1351: <p>More details about item support can be found in the ThemeForest <a href='http://themeforest.net/page/item_support_policy' target='_blank'>Item Suppo
    Line 1370: <p>Please come back and <a href='http://themeforest.net/downloads' target='_blank'>leave a 5-star rating</a>
    Line 1386: <li class='rating'><a href='http://themeforest.net/downloads'><?php esc_html_e( 'Leave an Item Rating',
    Line 1383: <li class='documentation'><a href='http://www.portotheme.com/wordpress/porto/documentation'><?php esc_html_e( 
    Line 1384: <li class='woocommerce documentation'><a href='https://docs.woocommerce.com/document/woocommerce-101-video-series/'><?php 
    Line 1370: <p>Please come back and <a href='http://themeforest.net/downloads' target='_blank'>leave a 5-star rating</a>
    Line 1386: <li class='rating'><a href='http://themeforest.net/downloads'><?php esc_html_e( 'Leave an Item Rating',
    Lien potentiellement codés en dur trouvé dans le fichier welcome.php.
    Line 480: <a href='http://docs.reduxframework.com/' class='docs button button-primary'>Docs</a
    Line 483: <a href='https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=MMFMHW
    Lien potentiellement codés en dur trouvé dans le fichier class-tgm-plugin-activation.php.
    Line 2731: $action_links[ 'register' ] = '<span style='color:#666'>Please</span> <a href='admin.php?page=porto'>register</a> <span style='color:#666'>the theme</span
  2. Fichiers optionnels : Présence du fichierde style pour les écritures de droite vers la gauche rtl.cssCe thème ne contient pas le fichier optionnel rtl.php.
  3. Fichiers optionnels : Présence du fichier-template fron-*page.phpCe thème ne contient pas le fichier optionnel front-page.php.
  4. Fichiers optionnels : Présence du fichier-template de page d'accueil home.phpCe thème ne contient pas le fichier optionnel home.php.
  5. Fichiers optionnels : Présence du fichier-template de catégorie category.phpCe thème ne contient pas le fichier optionnel category.php.
  6. Fichiers optionnels : Présence du fichier-template des tags tag.phpCe thème ne contient pas le fichier optionnel tag.php.
  7. Fichiers optionnels : Présence du fichier template de taxinomie taxonomy.phpCe thème ne contient pas le fichier optionnel taxonomy.php.
  8. Fichiers optionnels : Présence du fichier-template author.phpCe thème ne contient pas le fichier optionnel author.php.
  9. Fichiers optionnels : Présence de du fichier-template des dates et heures date.phpCe thème ne contient pas le fichier optionnel date.php.
  10. Fichiers optionnels : Présence du fichier-template des pièces jointes attachment.phpCe thème ne contient pas le fichier optionnel attachment.php.
  11. Fichiers optionnels : Présence du fichier-template des images image.phpCe thème ne contient pas le fichier optionnel image.php.
  12. Utilisation d'includes : Utilisation de include ou de de requireLe thème semble utiliser include ou require : style.php
    Line 74: require_once ( porto_lib . '/lib/color-lib.php' );
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : woocommerce-swatches.php
    Line 23: require 'classes/class-product-swatches-tab.php';
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : customizer.php
    Line 43: require_once ( porto_lib . '/lib/color-lib.php' );
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : header-builder.php
    Line 135: include_once( 'classes/simple-notice-control.php' );
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : Parser.php
    Line 323: if ($this->literal('@include') &&
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : admin.php
    Line 89: require_once( porto_admin . '/admin_pages/welcome.php' );
    Line 93: require_once( porto_admin . '/admin_pages/changelog.php' );
    Line 287: require_once(porto_admin . '/theme_options.php');
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : theme_options.php
    Line 7: require_once( porto_admin . '/functions.php' );
    Line 10: require_once( porto_admin . '/ReduxCore/framework.php' );
    Line 13: require_once( porto_admin . '/theme_options/settings.php' );
    Line 15: require_once( porto_admin . '/theme_options/save_settings.php' );
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : save_settings.php
    Line 175: require_once( porto_admin . '/lessphp/lessc.inc.php' );
    Line 196: require_once( porto_admin . '/scssphp/scss.inc.php' );
    Line 247: require_once( porto_admin . '/scssphp/scss.inc.php' );
    Line 288: require_once( porto_admin . '/scssphp/scss.inc.php' );
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : Functions.php
    Line 907: $mime = require('mime');
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : Cache.php
    Line 3: require_once( dirname(__FILE__).'/Version.php');
    Line 151: require_once($file);
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : Parser.php
    Line 3: require_once( dirname(__FILE__).'/Cache.php');
    Line 669: return include($cache_file);
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : setup_wizard.php
    Line 1420: require_once( ABSPATH . '/wp-admin/includes/file.php' );
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : framework.php
    Line 1644: require_once 'core/enqueue.php';
    Line 2800: require_once 'core/enqueue.php';
    Line 2858: require_once 'core/panel.php';
    Line 3210: require_once 'core/panel.php';
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : extension_customizer.php
    Line 790: require_once( $class_file );
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : extension_custom_fonts.php
    Line 137: //require_once 'System.php'; // Wordpress core file
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : class.redux_api.php
    Line 539: include_once( $api_check );
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : welcome.php
    Line 376: require_once 'views/about.php';
    Line 391: require_once 'views/changelog.php';
    Line 406: require_once 'views/extensions.php';
    Line 422: require_once 'views/support.php';
    Line 437: require_once 'views/credits.php';
    Line 452: require_once 'views/status_report.php';
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : mini-status.php
    Line 12: require_once( ABSPATH . '/wp-admin/includes/file.php' );
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : plugins.php
    Line 267: require_once(ABSPATH . 'wp-admin/includes/plugin.php');
    Line 274: include_once( WC()->plugin_path() . '/includes/wc-template-functions.php' )
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : porto-wordpress-importer.php
    Line 207: require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : wordpress-importer.php
    Line 167: require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : importer-api.php
    Line 61: require_once( ABSPATH . '/wp-admin/includes/file.php' );
    Line 174: require_once( ABSPATH . '/wp-admin/includes/file.php' );
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : layout.php
    Line 5: require_once(porto_functions . '/layout/breadcrumbs.php');
    Line 6: require_once(porto_functions . '/layout/page-title.php');
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : class-dynamic-style.php
    Line 104: require_once( porto_dir . '/style.php' );
    Line 106: require_once( porto_dir . '/style-internal.php' );
    Line 120: require_once( porto_dir . '/style-internal.php' );
    Line 175: require_once( porto_admin . '/scssphp/scss.inc.php' );
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : content_type.php
    Line 2: require_once(porto_functions . '/content_type/portfolio_like.php');
    Line 3: require_once(porto_functions . '/content_type/blog_like.php');
    Line 4: require_once(porto_functions . '/content_type/meta_values.php');
    Line 5: require_once(porto_functions . '/content_type/meta_fields.php');
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : woocommerce.php
    Line 6: require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
    Le thème semble utiliser include ou require : content_types.php
    Line 3: require_once(porto_content_types . '/post.php');
    Line 4: require_once(porto_content_types . '/page.php');
    Line 6: require_once(porto_content_types . '/product.php');
    Line 8: require_once(porto_content_types . '/portfolio.php');
    Line 9: require_once(porto_content_types . '/member.php');
    Line 10: require_once(porto_content_types . '/faq.php');
    Line 11: require_once(porto_content_types . '/block.php');
    Line 12: require_once(porto_content_types . '/event.php');
    Line 596: require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
    Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
Autre thèmes vérifiés