0
Validation results

Porto

Porto

WordPress 4.9.8 theme
0
Critical alerts
  1. Title : Title The <title> tags can only contain a call to wp_title(). Use the wp_title filter to modify the output.
  2. Security breaches : Modification of PHP server settings Found ini_set in file save_settings.php.
    Line 17: @ini_set('max_execution_time', '10000');
    Line 19: @ini_set('memory_limit', '256M');
    Line 80: @ini_set('max_execution_time', '10000');
    Line 82: @ini_set('memory_limit', '256M');
    Line 155: @ini_set('max_execution_time', '10000');
    Line 157: @ini_set('memory_limit', '256M');
    Found ini_set in file Parser.php.
    Line 94: @ini_set('mbstring.internal_encoding', 'ascii');
    Line 184: @ini_set('precision',16);
    Line 222: @ini_set('precision',$precision);
    Line 228: @ini_set('mbstring.internal_encoding', $this->mb_internal_encoding);
    Found ini_set in file importer.php.
    Line 90: @ini_set('max_execution_time', '10000');
    Line 91: @ini_set('memory_limit', '256M');
    Line 199: @ini_set('max_execution_time', '10000');
    Line 200: @ini_set('memory_limit', '256M');
    Line 249: @ini_set('max_execution_time', '10000');
    Line 250: @ini_set('memory_limit', '256M');
  3. Security breaches : Use of base64_decode() Found base64_decode in file admin.php.
    Line 102: $result = $this->curl_purchase_code( base64_decode( $code_confirm ), '', 'remove' );
    Line 175: $code = base64_decode( $code );
  4. Security breaches : Use of base64_encode() Found base64_encode in file 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 );
    Found base64_encode in file Functions.php.
     $buf = $useBase64 ? base64_encode($buf) : rawurlencode($buf);
     $returner = ''data:image/svg+xml;base64,'.base64_encode($returner).''';
  5. Unwanted files : hidden file(s) or folder(s) .easymin was found.
  6. Malware : Operations on file system file_get_contents was found in the file 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 was found in the file 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 was found in the file 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 was found in the file 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 was found in the file 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 was found in the file 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 was found in the file 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 was found in the file 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);
    fopen was found in the file Compiler.php
    Line 180: $this->stderr         = fopen('php://stderr', 'w');
    fwrite was found in the file Compiler.php
    Line 1851: fwrite($this->stderr, 'Line $line DEBUG: $value\n');
    Line 1859: fwrite($this->stderr, 'Line $line WARN: $value\n');
    fwrite was found in the file Compiler.php
    Line 1851: fwrite($this->stderr, 'Line $line DEBUG: $value\n');
    Line 1859: fwrite($this->stderr, 'Line $line WARN: $value\n');
    file_get_contents was found in the file Compiler.php
    Line 3356: $code   = file_get_contents($path);
    file_get_contents was found in the file Import.php
    Line 176: $contents = new Less_Tree_Anonymous( file_get_contents($full_path), 0, array(), true );
    file_put_contents was found in the file Generator.php
    Line 152: if(file_put_contents($file, $content) === false){
    file_get_contents was found in the file Generator.php
    Line 275: $content[] = file_get_contents($sourceFile);
    file_get_contents was found in the file import.php
    Line 69: $contents = new Less_Tree_Anonymous( file_get_contents($full_path), 0, array(), true );
    file_get_contents was found in the file Functions.php
    Line 923: $buf = @file_get_contents($filePath);
    file_put_contents was found in the file Cache.php
    Line 75: file_put_contents($vars_file, $lessvars);
    Line 120: file_put_contents( $list_file, $cache );
    Line 124: file_put_contents( $output_file, $compiled );
    file_put_contents was found in the file Cache.php
    Line 75: file_put_contents($vars_file, $lessvars);
    Line 120: file_put_contents( $list_file, $cache );
    Line 124: file_put_contents( $output_file, $compiled );
    file_put_contents was found in the file Cache.php
    Line 75: file_put_contents($vars_file, $lessvars);
    Line 120: file_put_contents( $list_file, $cache );
    Line 124: file_put_contents( $output_file, $compiled );
    file_get_contents was found in the file Cache.php
    Line 304: $list = explode('\n',file_get_contents($list_file));
    file_get_contents was found in the file Parser.php
    Line 524: $cache = unserialize(file_get_contents($cache_file));
    Line 591: $this->input = file_get_contents( $file_path );
    file_put_contents was found in the file Parser.php
    Line 565: file_put_contents( $cache_file, serialize($rules) );
    Line 568: file_put_contents( $cache_file, '<?php return '.self::ArgString($rules).'; 
    Line 572: file_put_contents( $cache_file, '<?php return '.var_export($rules,true).'; 
    file_put_contents was found in the file Parser.php
    Line 565: file_put_contents( $cache_file, serialize($rules) );
    Line 568: file_put_contents( $cache_file, '<?php return '.self::ArgString($rules).'; 
    Line 572: file_put_contents( $cache_file, '<?php return '.var_export($rules,true).'; 
    file_put_contents was found in the file Parser.php
    Line 565: file_put_contents( $cache_file, serialize($rules) );
    Line 568: file_put_contents( $cache_file, '<?php return '.self::ArgString($rules).'; 
    Line 572: file_put_contents( $cache_file, '<?php return '.var_export($rules,true).'; 
    file_get_contents was found in the file Parser.php
    Line 524: $cache = unserialize(file_get_contents($cache_file));
    Line 591: $this->input = file_get_contents( $file_path );
    file_get_contents was found in the file Parser.php
    Line 58: $this->input = file_get_contents( $this->currentFile['filename'] );
    file_put_contents was found in the file lessc.inc.php
    Line 175: return file_put_contents($outFname, $out);
    file_put_contents was found in the file setup_wizard.php
    Line 588: file_put_contents( $new_theme_path.'/style.css', $css );
    file_get_contents was found in the file extension_custom_fonts.php
    Line 580: //$payload .= file_get_contents( $output[ $main ] );
    
    file_get_contents was found in the file class.redux_sass.php
    Line 52: $ids = file_get_contents(self::$matrix_file);
    
    file_put_contents was found in the file class.redux_sass.php
    Line 59: $ret = @file_put_contents(self::$matrix_file, $ids);
    
    Line 166: $ret = @file_put_contents($css_file, $new_css);
    
    Line 206: $ret = @file_put_contents($scss_path . '/' .  $filename . '.css', $new_css);
    
    file_put_contents was found in the file class.redux_sass.php
    Line 59: $ret = @file_put_contents(self::$matrix_file, $ids);
    
    Line 166: $ret = @file_put_contents($css_file, $new_css);
    
    Line 206: $ret = @file_put_contents($scss_path . '/' .  $filename . '.css', $new_css);
    
    file_put_contents was found in the file class.redux_sass.php
    Line 59: $ret = @file_put_contents(self::$matrix_file, $ids);
    
    Line 166: $ret = @file_put_contents($css_file, $new_css);
    
    Line 206: $ret = @file_put_contents($scss_path . '/' .  $filename . '.css', $new_css);
    
    fwrite was found in the file scss.inc.php
    Line 830: fwrite(STDERR, 'Line $line DEBUG: $value\n');
    
    file_get_contents was found in the file scss.inc.php
    Line 1652: $code = file_get_contents($path);
    
    Line 4430: $imports = unserialize(file_get_contents($icache));
    
    Line 4468: $css = $this->scss->compile(file_get_contents($in), $in);
    
    Line 4529: echo file_get_contents($output);
    
    file_get_contents was found in the file scss.inc.php
    Line 1652: $code = file_get_contents($path);
    
    Line 4430: $imports = unserialize(file_get_contents($icache));
    
    Line 4468: $css = $this->scss->compile(file_get_contents($in), $in);
    
    Line 4529: echo file_get_contents($output);
    
    file_get_contents was found in the file scss.inc.php
    Line 1652: $code = file_get_contents($path);
    
    Line 4430: $imports = unserialize(file_get_contents($icache));
    
    Line 4468: $css = $this->scss->compile(file_get_contents($in), $in);
    
    Line 4529: echo file_get_contents($output);
    
    file_put_contents was found in the file scss.inc.php
    Line 4475: file_put_contents($out, $css);
    
    Line 4476: file_put_contents($this->importsCacheName($out),
    
    file_put_contents was found in the file scss.inc.php
    Line 4475: file_put_contents($out, $css);
    
    Line 4476: file_put_contents($this->importsCacheName($out),
    
    file_get_contents was found in the file scss.inc.php
    Line 1652: $code = file_get_contents($path);
    
    Line 4430: $imports = unserialize(file_get_contents($icache));
    
    Line 4468: $css = $this->scss->compile(file_get_contents($in), $in);
    
    Line 4529: echo file_get_contents($output);
    
    file_put_contents was found in the file class.redux_filesystem.php
    Line 160: $res = file_put_contents( $file, $content, $chmod );
    file_get_contents was found in the file class.redux_filesystem.php
    Line 186: $res = file_get_contents( $file );
    fopen was found in the file class.redux_api.php
    Line 369: $fp = fopen( $file, 'r' );
    
    fread was found in the file class.redux_api.php
    Line 372: $file_data = fread( $fp, $size );
    
    fclose was found in the file class.redux_api.php
    Line 375: fclose( $fp );
    
    fopen was found in the file class.redux_helpers.php
    Line 376: $sysinfo['redux_data_writeable'] = self::makeBoolStr( @fopen( ReduxFramework::$_upload_dir . 'test-log.log', 'a' ) );
    
    Line 634: $fp = fopen( $file, 'r' );
    
    fopen was found in the file class.redux_helpers.php
    Line 376: $sysinfo['redux_data_writeable'] = self::makeBoolStr( @fopen( ReduxFramework::$_upload_dir . 'test-log.log', 'a' ) );
    
    Line 634: $fp = fopen( $file, 'r' );
    
    fread was found in the file class.redux_helpers.php
    Line 637: $file_data = fread( $fp, 8192 );
    
    fclose was found in the file class.redux_helpers.php
    Line 640: fclose( $fp );
    
    fopen was found in the file panel.php
    Line 252: $fp = fopen( $file, 'r' );
    
    fread was found in the file panel.php
    Line 255: $file_data = fread( $fp, 8192 );
    
    fclose was found in the file panel.php
    Line 258: fclose( $fp );
    
    file_get_contents was found in the file parsers.php
    Line 75: $file_contents = file_get_contents( $file );
    Line 315: $file_contents = file_get_contents( $file );
    file_get_contents was found in the file parsers.php
    Line 75: $file_contents = file_get_contents( $file );
    Line 315: $file_contents = file_get_contents( $file );
    fopen was found in the file parsers.php
    Line 463: $fp = $this->fopen( $file, 'r' );
    Line 689: function fopen( $filename, $mode = 'r' ) {
    Line 692: return fopen( $filename, $mode );
    fclose was found in the file parsers.php
    Line 512: $this->fclose($fp);
    Line 707: function fclose( $fp ) {
    Line 710: return fclose( $fp );
    fopen was found in the file parsers.php
    Line 463: $fp = $this->fopen( $file, 'r' );
    Line 689: function fopen( $filename, $mode = 'r' ) {
    Line 692: return fopen( $filename, $mode );
    fopen was found in the file parsers.php
    Line 463: $fp = $this->fopen( $file, 'r' );
    Line 689: function fopen( $filename, $mode = 'r' ) {
    Line 692: return fopen( $filename, $mode );
    fclose was found in the file parsers.php
    Line 512: $this->fclose($fp);
    Line 707: function fclose( $fp ) {
    Line 710: return fclose( $fp );
    fclose was found in the file parsers.php
    Line 512: $this->fclose($fp);
    Line 707: function fclose( $fp ) {
    Line 710: return fclose( $fp );
    file_get_contents was found in the file porto-parsers.php
    Line 78: $file_contents = file_get_contents( $file );
    Line 309: $file_contents = file_get_contents( $file );
    file_get_contents was found in the file porto-parsers.php
    Line 78: $file_contents = file_get_contents( $file );
    Line 309: $file_contents = file_get_contents( $file );
    fopen was found in the file porto-parsers.php
    Line 459: $fp = $this->fopen( $file, 'r' );
    Line 686: function fopen( $filename, $mode = 'r' ) {
    Line 689: return fopen( $filename, $mode );
    fclose was found in the file porto-parsers.php
    Line 509: $this->fclose($fp);
    Line 704: function fclose( $fp ) {
    Line 707: return fclose( $fp );
    fopen was found in the file porto-parsers.php
    Line 459: $fp = $this->fopen( $file, 'r' );
    Line 686: function fopen( $filename, $mode = 'r' ) {
    Line 689: return fopen( $filename, $mode );
    fopen was found in the file porto-parsers.php
    Line 459: $fp = $this->fopen( $file, 'r' );
    Line 686: function fopen( $filename, $mode = 'r' ) {
    Line 689: return fopen( $filename, $mode );
    fclose was found in the file porto-parsers.php
    Line 509: $this->fclose($fp);
    Line 704: function fclose( $fp ) {
    Line 707: return fclose( $fp );
    fclose was found in the file porto-parsers.php
    Line 509: $this->fclose($fp);
    Line 704: function fclose( $fp ) {
    Line 707: return fclose( $fp );
    file_get_contents was found in the file importer-api.php
    Line 89: $body = @file_get_contents( $url );
    fopen was found in the file importer-api.php
    Line 88: if( function_exists( 'ini_get' ) && ini_get( 'allow_url_fopen' ) ){
    Line 110: $fp = @fopen( $path_package, 'w' );
    fwrite was found in the file importer-api.php
    Line 111: $fwrite = @fwrite( $fp, $body );
    Line 113: if( false === $fwrite ){
    fclose was found in the file importer-api.php
    Line 112: @fclose( $fp );
  7. Malware : Network operations curl_init was found in the file admin.php
    Line 142: $ch = curl_init();
    curl_exec was found in the file admin.php
    Line 149: $result = json_decode( curl_exec($ch), true );
  8. Admin menu : Themes should use add_theme_page() for adding admin pages. File admin.php :
    Line 54: $welcome_screen = add_menu_page( 'Porto', 'Porto', 'administrator', 'porto', array( $this, 'w
    File admin.php :
    Line 55: $welcome       = add_submenu_page( 'porto', __( 'Theme license', 'Porto' ), __( 'Theme Licen
    Line 56: $changelog = add_submenu_page( 'porto', __( 'Change log', 'Porto' ), __( 'Change log', '
    Line 57: $theme_options = add_submenu_page( 'porto', __( 'Theme Options', 'Porto' ), __( 'Theme Optio
    File admin.php :
    Line 55: $welcome       = add_submenu_page( 'porto', __( 'Theme license', 'Porto' ), __( 'Theme Licen
    Line 56: $changelog = add_submenu_page( 'porto', __( 'Change log', 'Porto' ), __( 'Change log', '
    Line 57: $theme_options = add_submenu_page( 'porto', __( 'Theme Options', 'Porto' ), __( 'Theme Optio
    File admin.php :
    Line 55: $welcome       = add_submenu_page( 'porto', __( 'Theme license', 'Porto' ), __( 'Theme Licen
    Line 56: $changelog = add_submenu_page( 'porto', __( 'Change log', 'Porto' ), __( 'Change log', '
    Line 57: $theme_options = add_submenu_page( 'porto', __( 'Theme Options', 'Porto' ), __( 'Theme Optio
    File setup_wizard.php :
    Line 132: add_submenu_page('porto', esc_html__( 'Setup Wizard','porto' ), esc_html__(
    File framework.php :
    Line 1208: // wrappers and need to be appened to using add_submenu_page.
    Line 1258: $this->page = add_submenu_page(
    Line 1317: add_submenu_page(
    Line 1329: add_submenu_page(
    File framework.php :
    Line 1208: // wrappers and need to be appened to using add_submenu_page.
    Line 1258: $this->page = add_submenu_page(
    Line 1317: add_submenu_page(
    Line 1329: add_submenu_page(
    File framework.php :
    Line 1285: $this->page = add_menu_page(
    File framework.php :
    Line 1208: // wrappers and need to be appened to using add_submenu_page.
    Line 1258: $this->page = add_submenu_page(
    Line 1317: add_submenu_page(
    Line 1329: add_submenu_page(
    File framework.php :
    Line 1208: // wrappers and need to be appened to using add_submenu_page.
    Line 1258: $this->page = add_submenu_page(
    Line 1317: add_submenu_page(
    Line 1329: add_submenu_page(
  9. Hidden admin bar : Hidden admin Bar Themes should not hide admin bar. Detected in file : functions.php.
  10. Deprecated functions : screen_icon screen_icon found in file wordpress-importer.php. Deprecated since version 3.8.
    Line 1307: screen_icon();
  11. Deprecated functions : get_option get_option('home') was found in the file layout.php. Use home_url() instead.
    Line 419: if(is_404()) $url = get_option('home'); else $url = '';
    Line 537: if(is_404()) $url = get_option('home'); else $url = '';
    Line 632: if(is_404()) $url = get_option('home'); else $url = '';
    Line 916: if(is_404()) $url = get_option('home'); else $url = '';
    Line 1183: if(is_404()) $url = get_option('home'); else $url = '';
    Line 1448: if(is_404()) $url = get_option('home'); else $url = '';
  12. Included plugins : Zip file found Plugins are not allowed in themes. The zip file found was revslider.zip js_composer.zip porto-functionality.zip geodirectory-porto-theme-compatibility-pack.zip.
Warning
  1. core scripts deregistered : Core scripts deregistrationFound wp_deregister_script in functions.php. Themes must not deregister core scripts.
    Line 389: wp_deregister_script( 'porto-plugins-popper' );
    Line 397: wp_deregister_script( 'porto-bootstrap' );
    Line 401: wp_deregister_script( 'porto-plugins' );
    Line 422: wp_deregister_script( 'porto-theme' );
    Found wp_deregister_script in vc_pie.php. Themes must not deregister core scripts.
    Line 48: wp_deregister_script( 'vc_pie' );
    Found wp_deregister_script in vc_progress_bar.php. Themes must not deregister core scripts.
    Line 42: wp_deregister_script( 'waypoints' );
    Found wp_deregister_script in framework.php. Themes must not deregister core scripts.
    Line 518: wp_deregister_script( 'wpb_ace' );
  2. theme tags : Presence of bad theme tagsFound wrong tag woocommerce in style.css header.Found wrong tag corporate in style.css header.Found wrong tag ecommerce in style.css header.Found wrong tag responsive in style.css header.The tag blue has been deprecated, it must be removed from style.css header.The tag black has been deprecated, it must be removed from style.css header.The tag green has been deprecated, it must be removed from style.css header.The tag white has been deprecated, it must be removed from style.css header.The tag light has been deprecated, it must be removed from style.css header.The tag dark has been deprecated, it must be removed from style.css header.The tag red has been deprecated, it must be removed from style.css header.The tag fixed-layout has been deprecated, it must be removed from style.css header.The tag responsive-layout has been deprecated, it must be removed from style.css header.Themes that use the tag accessibility-ready will need to undergo an accessibility review.
    See https://make.wordpress.org/themes/handbook/review/accessibility/
  3. Text domain : Incorrect use of translation functions.Found a translation function that has an incorrect number of arguments. Function _n, with the arguments '%s download remaining', '%s downloads remaining', downloads_remaining, 'woocommerce' in file my-downloads.php.Found a translation function that is missing a text-domain. Function __, with the arguments 'porto' in file shipping-calculator.php.Found a translation function that is missing a text-domain. Function __, with the arguments 'porto' in file cart-totals-v1.php.Found a translation function that is missing a text-domain. Function __, with the arguments 'porto' in file cart-totals-v2.php.Found a translation function that has an incorrect number of arguments. Function __, with the arguments 'After save the changes, will regenerate the css files (skin_', .css, skin_rtl_, '.css) in ' in file settings.php.Found a translation function that has an incorrect number of arguments. Function __, with the arguments 'After save the changes, will regenerate the css files (skin_', .css, skin_rtl_, '.css) in ', 'porto' in file settings.php.Found a translation function that is missing a text-domain. Function esc_html__, with the arguments 'Welcome to the setup wizard for %s.' in file setup_wizard.php.Found a translation function that is missing a text-domain. Function esc_html_e, with the arguments 'Not right now' in file setup_wizard.php.Found a translation function that is missing a text-domain. Function __, with the arguments 'No Comments' in file general.php.Found a translation function that is missing a text-domain. Function __, with the arguments '1 Comment' in file general.php.Found a translation function that is missing a text-domain. Function __, with the arguments '% Comments' in file general.php.Found a translation function that is missing a text-domain. Function __, with the arguments 'Comments Off' in file general.php.Found a translation function that is missing a text-domain. Function __, with the arguments 'Enter your password to view comments.' in file general.php.Found a translation function that is missing a text-domain. Function __, with the arguments 'Comment on %s' in file general.php.Found a translation function that is missing a text-domain. Function __, with the arguments '% Comments' in file general.php.Found a translation function that is missing a text-domain. Function __, with the arguments 'No Comments' in file general.php.Found a translation function that is missing a text-domain. Function __, with the arguments '1 Comment' in file general.php.Found a translation function that is missing a text-domain. Function __, with the arguments 'Go to Home Page' in file breadcrumbs.php.Found a translation function that is missing a text-domain. Function __, with the arguments 'Use commas instead of %s to separate excluded categories.' in file woocommerce.php.Found a translation function that is missing a text-domain. Function esc_attr_e, with the arguments 'billing_first_name' in file woocommerce.php.Found a translation function that is missing a text-domain. Function esc_attr_e, with the arguments 'billing_last_name' in file woocommerce.php.More than one text-domain is being used in this theme. This means the theme will not be compatible with WordPress.org language packs. The domains found are porto, woocommerce, yith-plugin-fw, downloads_remaining, js_composer, Porto, .css, skin_rtl_, redux-framework, tgmpa, wordpress-importer, wysija-newsletters, porto-shortcodes, blank, textdomain.
  4. PHP short tags : Presence of PHP short tagsPHP short tags were found in file parsedown.php. "This practice is discouraged because they are only available if enabled with short_open_tag php.ini configuration file directive, or if PHP was configured with the --enable-short-tags option" (php.net), which is not the case on many servers.
    Line 838: if (preg_match('/^\[(.+?)\]:[ ]*<?(\S+?)>?(?:[ ]+['\'(](.+)['\')])?[ ]*$/', $Line['text'], $matches))
    
  5. Hidden admin bar : Hidden admin Bar in CSSThemes should not hide admin bar. Detected in file theme.css.
  6. Deprecated functions : screen_iconscreen_icon found in file wordpress-importer.php. Deprecated since version 3.8.
    Line 1307: screen_icon();
  7. I18N implementation : Proper use of _e(Possible variable $_POST found in translation function in woocommerce.php. Translation function calls should not contain PHP variables.
    Line 892: <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'] ); ?>' />
    Possible variable $_POST found in translation function in woocommerce.php. Translation function calls should not contain PHP variables.
    Line 896: <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. I18N implementation : Proper use of ___all(Possible variable $cvalue found in translation function in shipping-calculator.php. Translation function calls should not contain PHP variables.
    Line 57: echo '<option value='' . esc_attr( $ckey ) . '' ' . selected( $current_r, $ckey, false ) . '>' . __( esc_html( $cvalue ), 'porto' ) .'</option>';
  9. I18N implementation : Proper use of esc_attr_e(Possible variable $_POST found in translation function in woocommerce.php. Translation function calls should not contain PHP variables.
    Line 892: <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'] ); ?>' />
    Possible variable $_POST found in translation function in woocommerce.php. Translation function calls should not contain PHP variables.
    Line 896: <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 : Screenshot fileScreenshot size is 800x600px. Screenshot size should be 1200x900, to account for HiDPI displays. Any 4:3 image size is acceptable, but 1200x900 is preferred.Bad screenshot file extension ! File screenshot.png is not an actual JPG file. Detected type was : "image/png".
Tip-off
  1. Static links : Presence of hard-coded linksPossible hard-coded links were found in the file 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 82: '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 82: 'content'  => sprintf( '<h3> %s </h3> <p> %s </p> <p> %s <a href='http://yithemes.com/product-category/plugins/' target='_blank'>Yithemes.com
    Possible hard-coded links were found in the file admin.php.
    Line 16: $this->add_wp_toolbar_menu_item( $porto_parent_menu_title, false, admin_url( 'admin.php?page=porto' ), array( 'class' => 'porto-menu' ), 'porto' );
    Line 17: $this->add_wp_toolbar_menu_item( __( 'Theme License', 'porto' ), 'porto', admin_url( 'admin.php?page=porto' ) );
    Line 18: $this->add_wp_toolbar_menu_item( __( 'Change log', 'porto' ), 'porto', admin_url( 'admin.php?page=porto-changelog' ) );
    Line 20: $this->add_wp_toolbar_menu_item( __( 'Setup Wizard', 'porto' ), 'porto', admin_url( 'admin.php?page=porto-setup-wizard' ) );
    Line 231: <p>Please <a href='admin.php?page=porto'>register</a> porto theme to get access to pre-built d
    Possible hard-coded links were found in the file settings.php.
    Line 6211: 'desc' => __('Please input animation. Please reference <a href='http://daneden.github.io/animate.css/'>animate.css</a>. ex: fadeIn', 'porto
    Line 6218: 'desc' => __('Please input animation. Please reference <a href='http://daneden.github.io/animate.css/'>animate.css</a>. ex: fadeOut', 'port
    Line 6211: 'desc' => __('Please input animation. Please reference <a href='http://daneden.github.io/animate.css/'>animate.css</a>. ex: fadeIn', 'porto
    Line 6218: 'desc' => __('Please input animation. Please reference <a href='http://daneden.github.io/animate.css/'>animate.css</a>. ex: fadeOut', 'port
    Possible hard-coded links were found in the file setup_wizard.php.
    Line 958: <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 977: <p>Please come back and <a href='http://themeforest.net/downloads' target='_blank'>leave a 5-star rating</a>
    Line 994: <li class='rating'><a href='http://themeforest.net/downloads'><?php esc_html_e( 'Leave an Item Rating',
    Line 991: <li class='documentation'><a href='http://www.portotheme.com/wordpress/porto/documentation'><?php esc_html_e( 
    Line 992: <li class='woocommerce documentation'><a href='https://docs.woocommerce.com/document/woocommerce-101-video-series/'><?php 
    Line 977: <p>Please come back and <a href='http://themeforest.net/downloads' target='_blank'>leave a 5-star rating</a>
    Line 994: <li class='rating'><a href='http://themeforest.net/downloads'><?php esc_html_e( 'Leave an Item Rating',
    Possible hard-coded links were found in the file class.redux_themecheck.php.
    Line 61: echo sprintf( 'The theme you are testing has %s embedded. We invite you to read the %sTheme-Check Documentation%s to understand some warnings you will see because of Redux.', '<a href='http://reduxframework.com' target='_blank'>Redux Framework</a>', '<a href='
  2. Optional files : Presence of rtl stylesheet rtl.cssThis theme does not contain optional file rtl.php.
  3. Optional files : Presence of front page template file front-page.phpThis theme does not contain optional file front-page.php.
  4. Optional files : Presence of home template file home.phpThis theme does not contain optional file home.php.
  5. Optional files : Presence of category template file category.phpThis theme does not contain optional file category.php.
  6. Optional files : Presence of tag template file tag.phpThis theme does not contain optional file tag.php.
  7. Optional files : Presence of term template file taxonomy.phpThis theme does not contain optional file taxonomy.php.
  8. Optional files : Presence of author template file author.phpThis theme does not contain optional file author.php.
  9. Optional files : Presence of date/time template file date.phpThis theme does not contain optional file date.php.
  10. Optional files : Presence of attachment template file attachment.phpThis theme does not contain optional file attachment.php.
  11. Optional files : Presence of image template file image.phpThis theme does not contain optional file image.php.
  12. Use of includes : Use of include or requireThe theme appears to use include or require : style.php
    Line 43: require_once ( porto_lib . '/lib/color-lib.php' );
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : Parser.php
    Line 323: if ($this->literal('@include') &&
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : admin.php
    Line 62: require_once( porto_admin . '/admin_pages/welcome.php' );
    Line 66: require_once( porto_admin . '/admin_pages/changelog.php' );
    Line 212: require_once(porto_admin . '/theme_options.php');
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or 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' );
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : save_settings.php
    Line 25: require_once( porto_admin . '/scssphp/scss.inc.php' );
    Line 88: require_once( porto_admin . '/scssphp/scss.inc.php' );
    Line 193: require_once( porto_admin . '/lessphp/lessc.inc.php' );
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : Functions.php
    Line 902: $mime = require('mime');
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : Cache.php
    Line 3: require_once( dirname(__FILE__).'/Version.php');
    Line 152: require_once($file);
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : Parser.php
    Line 3: require_once( dirname(__FILE__).'/Cache.php');
    Line 537: return include($cache_file);
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : framework.php
    Line 35: require_once( dirname( __FILE__ ) . '/inc/class.redux_instances.php' );
    Line 36: require_once( dirname( __FILE__ ) . '/inc/lib.redux_instances.php' );
    Line 47: require_once( dirname( __FILE__ ) . '/inc/class.redux_api.php' );
    Line 50: require_once( dirname( __FILE__ ) . '/inc/class.redux_helpers.php' );
    Line 53: require_once( dirname( __FILE__ ) . '/inc/class.redux_functions.php' );
    Line 54: require_once( dirname( __FILE__ ) . '/inc/class.p.php' );
    Line 56: require_once( dirname( __FILE__ ) . '/inc/class.redux_filesystem.php' );
    Line 59: require_once( dirname( __FILE__ ) . '/inc/class.redux_themecheck.php' );
    Line 1494: require_once( $class_file );
    Line 1569: include_once( 'core/enqueue.php' );
    Line 1883: include( ABSPATH . 'wp-includes/pluggable.php' );
    Line 2320: require_once( $class_file );
    Line 2692: include_once( 'core/enqueue.php' );
    Line 2696: include_once( 'core/panel.php' );
    Line 2846: require_once( $class_file );
    Line 3071: include_once( 'core/panel.php' );
    Line 3198: require_once( $class_file );
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : extension_customizer.php
    Line 629: require_once( $class_file );
    
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : extension_custom_fonts.php
    Line 134: //require_once 'System.php'; // Wordpress core file
    
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : class.redux_sass.php
    Line 140: require( 'scssphp/scss.inc.php' );
    
    Line 191: require( 'scssphp/scss.inc.php' );
    
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : class.redux_functions.php
    Line 91: require_once( ABSPATH . '/wp-admin/includes/file.php' );
    
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : scss.inc.php
    Line 2816: 
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : class.redux_filesystem.php
    Line 78: require_once( ABSPATH . '/wp-admin/includes/template.php' );
    Line 79: require_once( ABSPATH . '/wp-admin/includes/file.php' );
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : class.redux_api.php
    Line 65: require_once( $extension['path'] );
    
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : class.redux_helpers.php
    Line 99: require_once( ABSPATH . 'wp-admin/includes/admin.php' );
    
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : sysinfo.php
    Line 54: require_once 'browser.php';
    
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : field_raw.php
    Line 32: require_once( $this->field['include'] );
    
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : field_select.php
    Line 57: require_once( $icons_file );
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : field_button_set.php
    Line 46: *              ['format']      string Formatting options for paginate fields. Options include ('currency','nice','niceShort','timeAgoInWords' or a valid Date() f
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : enqueue.php
    Line 221: require_once( $class_file );
    
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : panel.php
    Line 237: include( $path );
    
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : mini-status.php
    Line 12: require_once( ABSPATH . '/wp-admin/includes/file.php' );
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : plugins.php
    Line 238: require_once(ABSPATH . 'wp-admin/includes/plugin.php');
    Line 243: include_once( WC()->plugin_path() . '/includes/wc-template-functions.php' )
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : porto-wordpress-importer.php
    Line 207: require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : importer.php
    Line 231: include(porto_plugins . '/importer/data/' . $demo . '/widget_data.json');
    Line 322: include(porto_plugins . '/importer/data/' . $demo . '/theme_options.php');
    Line 652: include(porto_plugins . '/importer/data/shortcodes_widget_data.json');
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : wordpress-importer.php
    Line 169: require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : importer-api.php
    Line 51: require_once( ABSPATH . '/wp-admin/includes/file.php' );
    Line 101: require_once( ABSPATH . '/wp-admin/includes/file.php' );
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : layout.php
    Line 2: require_once(porto_functions . '/layout/breadcrumbs.php');
    Line 3: require_once(porto_functions . '/layout/page-title.php');
    Line 2459: require_once( porto_dir . '/style-internal.php' );
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or 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');
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : woocommerce.php
    Line 6: require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or 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');
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.

This is a ThemeForest theme. Since Themeforest items are all checked by a human before they appear on their website, ThemeForest verification rules are more permissive than themecheck's and can give a better verification score ( Themeforest requirements ).

0
Critical alerts
  1. Title : Title The <title> tags can only contain a call to wp_title(). Use the wp_title filter to modify the output.
  2. Security breaches : Modification of PHP server settings Found ini_set in file save_settings.php.
    Line 17: @ini_set('max_execution_time', '10000');
    Line 19: @ini_set('memory_limit', '256M');
    Line 80: @ini_set('max_execution_time', '10000');
    Line 82: @ini_set('memory_limit', '256M');
    Line 155: @ini_set('max_execution_time', '10000');
    Line 157: @ini_set('memory_limit', '256M');
    Found ini_set in file Parser.php.
    Line 94: @ini_set('mbstring.internal_encoding', 'ascii');
    Line 184: @ini_set('precision',16);
    Line 222: @ini_set('precision',$precision);
    Line 228: @ini_set('mbstring.internal_encoding', $this->mb_internal_encoding);
    Found ini_set in file importer.php.
    Line 90: @ini_set('max_execution_time', '10000');
    Line 91: @ini_set('memory_limit', '256M');
    Line 199: @ini_set('max_execution_time', '10000');
    Line 200: @ini_set('memory_limit', '256M');
    Line 249: @ini_set('max_execution_time', '10000');
    Line 250: @ini_set('memory_limit', '256M');
  3. Unwanted files : hidden file(s) or folder(s) .easymin was found.
  4. Malware : Network operations curl_init was found in the file admin.php
    Line 142: $ch = curl_init();
    curl_exec was found in the file admin.php
    Line 149: $result = json_decode( curl_exec($ch), true );
  5. Hidden admin bar : Hidden admin Bar Themes should not hide admin bar. Detected in file : functions.php.
  6. Deprecated functions : screen_icon screen_icon found in file wordpress-importer.php. Deprecated since version 3.8.
    Line 1307: screen_icon();
  7. Deprecated functions : get_option get_option('home') was found in the file layout.php. Use home_url() instead.
    Line 419: if(is_404()) $url = get_option('home'); else $url = '';
    Line 537: if(is_404()) $url = get_option('home'); else $url = '';
    Line 632: if(is_404()) $url = get_option('home'); else $url = '';
    Line 916: if(is_404()) $url = get_option('home'); else $url = '';
    Line 1183: if(is_404()) $url = get_option('home'); else $url = '';
    Line 1448: if(is_404()) $url = get_option('home'); else $url = '';
  8. Included plugins : Zip file found Plugins are not allowed in themes. The zip file found was revslider.zip js_composer.zip porto-functionality.zip geodirectory-porto-theme-compatibility-pack.zip.
Warning
  1. core scripts deregistered : Core scripts deregistrationFound wp_deregister_script in functions.php. Themes must not deregister core scripts.
    Line 389: wp_deregister_script( 'porto-plugins-popper' );
    Line 397: wp_deregister_script( 'porto-bootstrap' );
    Line 401: wp_deregister_script( 'porto-plugins' );
    Line 422: wp_deregister_script( 'porto-theme' );
    Found wp_deregister_script in vc_pie.php. Themes must not deregister core scripts.
    Line 48: wp_deregister_script( 'vc_pie' );
    Found wp_deregister_script in vc_progress_bar.php. Themes must not deregister core scripts.
    Line 42: wp_deregister_script( 'waypoints' );
    Found wp_deregister_script in framework.php. Themes must not deregister core scripts.
    Line 518: wp_deregister_script( 'wpb_ace' );
  2. theme tags : Presence of bad theme tagsFound wrong tag woocommerce in style.css header.Found wrong tag corporate in style.css header.Found wrong tag ecommerce in style.css header.Found wrong tag responsive in style.css header.The tag blue has been deprecated, it must be removed from style.css header.The tag black has been deprecated, it must be removed from style.css header.The tag green has been deprecated, it must be removed from style.css header.The tag white has been deprecated, it must be removed from style.css header.The tag light has been deprecated, it must be removed from style.css header.The tag dark has been deprecated, it must be removed from style.css header.The tag red has been deprecated, it must be removed from style.css header.The tag fixed-layout has been deprecated, it must be removed from style.css header.The tag responsive-layout has been deprecated, it must be removed from style.css header.Themes that use the tag accessibility-ready will need to undergo an accessibility review.
    See https://make.wordpress.org/themes/handbook/review/accessibility/
  3. Text domain : Incorrect use of translation functions.Found a translation function that has an incorrect number of arguments. Function _n, with the arguments '%s download remaining', '%s downloads remaining', downloads_remaining, 'woocommerce' in file my-downloads.php.Found a translation function that is missing a text-domain. Function __, with the arguments 'porto' in file shipping-calculator.php.Found a translation function that is missing a text-domain. Function __, with the arguments 'porto' in file cart-totals-v1.php.Found a translation function that is missing a text-domain. Function __, with the arguments 'porto' in file cart-totals-v2.php.Found a translation function that has an incorrect number of arguments. Function __, with the arguments 'After save the changes, will regenerate the css files (skin_', .css, skin_rtl_, '.css) in ' in file settings.php.Found a translation function that has an incorrect number of arguments. Function __, with the arguments 'After save the changes, will regenerate the css files (skin_', .css, skin_rtl_, '.css) in ', 'porto' in file settings.php.Found a translation function that is missing a text-domain. Function esc_html__, with the arguments 'Welcome to the setup wizard for %s.' in file setup_wizard.php.Found a translation function that is missing a text-domain. Function esc_html_e, with the arguments 'Not right now' in file setup_wizard.php.Found a translation function that is missing a text-domain. Function __, with the arguments 'No Comments' in file general.php.Found a translation function that is missing a text-domain. Function __, with the arguments '1 Comment' in file general.php.Found a translation function that is missing a text-domain. Function __, with the arguments '% Comments' in file general.php.Found a translation function that is missing a text-domain. Function __, with the arguments 'Comments Off' in file general.php.Found a translation function that is missing a text-domain. Function __, with the arguments 'Enter your password to view comments.' in file general.php.Found a translation function that is missing a text-domain. Function __, with the arguments 'Comment on %s' in file general.php.Found a translation function that is missing a text-domain. Function __, with the arguments '% Comments' in file general.php.Found a translation function that is missing a text-domain. Function __, with the arguments 'No Comments' in file general.php.Found a translation function that is missing a text-domain. Function __, with the arguments '1 Comment' in file general.php.Found a translation function that is missing a text-domain. Function __, with the arguments 'Go to Home Page' in file breadcrumbs.php.Found a translation function that is missing a text-domain. Function __, with the arguments 'Use commas instead of %s to separate excluded categories.' in file woocommerce.php.Found a translation function that is missing a text-domain. Function esc_attr_e, with the arguments 'billing_first_name' in file woocommerce.php.Found a translation function that is missing a text-domain. Function esc_attr_e, with the arguments 'billing_last_name' in file woocommerce.php.More than one text-domain is being used in this theme. This means the theme will not be compatible with WordPress.org language packs. The domains found are porto, woocommerce, yith-plugin-fw, downloads_remaining, js_composer, Porto, .css, skin_rtl_, redux-framework, tgmpa, wordpress-importer, wysija-newsletters, porto-shortcodes, blank, textdomain.
  4. PHP short tags : Presence of PHP short tagsPHP short tags were found in file parsedown.php. "This practice is discouraged because they are only available if enabled with short_open_tag php.ini configuration file directive, or if PHP was configured with the --enable-short-tags option" (php.net), which is not the case on many servers.
    Line 838: if (preg_match('/^\[(.+?)\]:[ ]*<?(\S+?)>?(?:[ ]+['\'(](.+)['\')])?[ ]*$/', $Line['text'], $matches))
    
  5. Hidden admin bar : Hidden admin Bar in CSSThemes should not hide admin bar. Detected in file theme.css.
  6. Deprecated functions : screen_iconscreen_icon found in file wordpress-importer.php. Deprecated since version 3.8.
    Line 1307: screen_icon();
  7. Screenshot : Screenshot fileScreenshot size is 800x600px. Screenshot size should be 1200x900, to account for HiDPI displays. Any 4:3 image size is acceptable, but 1200x900 is preferred.Bad screenshot file extension ! File screenshot.png is not an actual JPG file. Detected type was : "image/png".
Tip-off
  1. Static links : Presence of hard-coded linksPossible hard-coded links were found in the file 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 82: '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 82: 'content'  => sprintf( '<h3> %s </h3> <p> %s </p> <p> %s <a href='http://yithemes.com/product-category/plugins/' target='_blank'>Yithemes.com
    Possible hard-coded links were found in the file admin.php.
    Line 16: $this->add_wp_toolbar_menu_item( $porto_parent_menu_title, false, admin_url( 'admin.php?page=porto' ), array( 'class' => 'porto-menu' ), 'porto' );
    Line 17: $this->add_wp_toolbar_menu_item( __( 'Theme License', 'porto' ), 'porto', admin_url( 'admin.php?page=porto' ) );
    Line 18: $this->add_wp_toolbar_menu_item( __( 'Change log', 'porto' ), 'porto', admin_url( 'admin.php?page=porto-changelog' ) );
    Line 20: $this->add_wp_toolbar_menu_item( __( 'Setup Wizard', 'porto' ), 'porto', admin_url( 'admin.php?page=porto-setup-wizard' ) );
    Line 231: <p>Please <a href='admin.php?page=porto'>register</a> porto theme to get access to pre-built d
    Possible hard-coded links were found in the file settings.php.
    Line 6211: 'desc' => __('Please input animation. Please reference <a href='http://daneden.github.io/animate.css/'>animate.css</a>. ex: fadeIn', 'porto
    Line 6218: 'desc' => __('Please input animation. Please reference <a href='http://daneden.github.io/animate.css/'>animate.css</a>. ex: fadeOut', 'port
    Line 6211: 'desc' => __('Please input animation. Please reference <a href='http://daneden.github.io/animate.css/'>animate.css</a>. ex: fadeIn', 'porto
    Line 6218: 'desc' => __('Please input animation. Please reference <a href='http://daneden.github.io/animate.css/'>animate.css</a>. ex: fadeOut', 'port
    Possible hard-coded links were found in the file setup_wizard.php.
    Line 958: <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 977: <p>Please come back and <a href='http://themeforest.net/downloads' target='_blank'>leave a 5-star rating</a>
    Line 994: <li class='rating'><a href='http://themeforest.net/downloads'><?php esc_html_e( 'Leave an Item Rating',
    Line 991: <li class='documentation'><a href='http://www.portotheme.com/wordpress/porto/documentation'><?php esc_html_e( 
    Line 992: <li class='woocommerce documentation'><a href='https://docs.woocommerce.com/document/woocommerce-101-video-series/'><?php 
    Line 977: <p>Please come back and <a href='http://themeforest.net/downloads' target='_blank'>leave a 5-star rating</a>
    Line 994: <li class='rating'><a href='http://themeforest.net/downloads'><?php esc_html_e( 'Leave an Item Rating',
    Possible hard-coded links were found in the file class.redux_themecheck.php.
    Line 61: echo sprintf( 'The theme you are testing has %s embedded. We invite you to read the %sTheme-Check Documentation%s to understand some warnings you will see because of Redux.', '<a href='http://reduxframework.com' target='_blank'>Redux Framework</a>', '<a href='
  2. Optional files : Presence of rtl stylesheet rtl.cssThis theme does not contain optional file rtl.php.
  3. Optional files : Presence of front page template file front-page.phpThis theme does not contain optional file front-page.php.
  4. Optional files : Presence of home template file home.phpThis theme does not contain optional file home.php.
  5. Optional files : Presence of category template file category.phpThis theme does not contain optional file category.php.
  6. Optional files : Presence of tag template file tag.phpThis theme does not contain optional file tag.php.
  7. Optional files : Presence of term template file taxonomy.phpThis theme does not contain optional file taxonomy.php.
  8. Optional files : Presence of author template file author.phpThis theme does not contain optional file author.php.
  9. Optional files : Presence of date/time template file date.phpThis theme does not contain optional file date.php.
  10. Optional files : Presence of attachment template file attachment.phpThis theme does not contain optional file attachment.php.
  11. Optional files : Presence of image template file image.phpThis theme does not contain optional file image.php.
  12. Use of includes : Use of include or requireThe theme appears to use include or require : style.php
    Line 43: require_once ( porto_lib . '/lib/color-lib.php' );
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : Parser.php
    Line 323: if ($this->literal('@include') &&
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : admin.php
    Line 62: require_once( porto_admin . '/admin_pages/welcome.php' );
    Line 66: require_once( porto_admin . '/admin_pages/changelog.php' );
    Line 212: require_once(porto_admin . '/theme_options.php');
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or 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' );
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : save_settings.php
    Line 25: require_once( porto_admin . '/scssphp/scss.inc.php' );
    Line 88: require_once( porto_admin . '/scssphp/scss.inc.php' );
    Line 193: require_once( porto_admin . '/lessphp/lessc.inc.php' );
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : Functions.php
    Line 902: $mime = require('mime');
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : Cache.php
    Line 3: require_once( dirname(__FILE__).'/Version.php');
    Line 152: require_once($file);
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : Parser.php
    Line 3: require_once( dirname(__FILE__).'/Cache.php');
    Line 537: return include($cache_file);
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : framework.php
    Line 35: require_once( dirname( __FILE__ ) . '/inc/class.redux_instances.php' );
    Line 36: require_once( dirname( __FILE__ ) . '/inc/lib.redux_instances.php' );
    Line 47: require_once( dirname( __FILE__ ) . '/inc/class.redux_api.php' );
    Line 50: require_once( dirname( __FILE__ ) . '/inc/class.redux_helpers.php' );
    Line 53: require_once( dirname( __FILE__ ) . '/inc/class.redux_functions.php' );
    Line 54: require_once( dirname( __FILE__ ) . '/inc/class.p.php' );
    Line 56: require_once( dirname( __FILE__ ) . '/inc/class.redux_filesystem.php' );
    Line 59: require_once( dirname( __FILE__ ) . '/inc/class.redux_themecheck.php' );
    Line 1494: require_once( $class_file );
    Line 1569: include_once( 'core/enqueue.php' );
    Line 1883: include( ABSPATH . 'wp-includes/pluggable.php' );
    Line 2320: require_once( $class_file );
    Line 2692: include_once( 'core/enqueue.php' );
    Line 2696: include_once( 'core/panel.php' );
    Line 2846: require_once( $class_file );
    Line 3071: include_once( 'core/panel.php' );
    Line 3198: require_once( $class_file );
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : extension_customizer.php
    Line 629: require_once( $class_file );
    
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : extension_custom_fonts.php
    Line 134: //require_once 'System.php'; // Wordpress core file
    
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : class.redux_sass.php
    Line 140: require( 'scssphp/scss.inc.php' );
    
    Line 191: require( 'scssphp/scss.inc.php' );
    
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : class.redux_functions.php
    Line 91: require_once( ABSPATH . '/wp-admin/includes/file.php' );
    
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : scss.inc.php
    Line 2816: 
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : class.redux_filesystem.php
    Line 78: require_once( ABSPATH . '/wp-admin/includes/template.php' );
    Line 79: require_once( ABSPATH . '/wp-admin/includes/file.php' );
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : class.redux_api.php
    Line 65: require_once( $extension['path'] );
    
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : class.redux_helpers.php
    Line 99: require_once( ABSPATH . 'wp-admin/includes/admin.php' );
    
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : sysinfo.php
    Line 54: require_once 'browser.php';
    
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : field_raw.php
    Line 32: require_once( $this->field['include'] );
    
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : field_select.php
    Line 57: require_once( $icons_file );
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : field_button_set.php
    Line 46: *              ['format']      string Formatting options for paginate fields. Options include ('currency','nice','niceShort','timeAgoInWords' or a valid Date() f
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : enqueue.php
    Line 221: require_once( $class_file );
    
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : panel.php
    Line 237: include( $path );
    
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : mini-status.php
    Line 12: require_once( ABSPATH . '/wp-admin/includes/file.php' );
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : plugins.php
    Line 238: require_once(ABSPATH . 'wp-admin/includes/plugin.php');
    Line 243: include_once( WC()->plugin_path() . '/includes/wc-template-functions.php' )
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : porto-wordpress-importer.php
    Line 207: require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : importer.php
    Line 231: include(porto_plugins . '/importer/data/' . $demo . '/widget_data.json');
    Line 322: include(porto_plugins . '/importer/data/' . $demo . '/theme_options.php');
    Line 652: include(porto_plugins . '/importer/data/shortcodes_widget_data.json');
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : wordpress-importer.php
    Line 169: require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : importer-api.php
    Line 51: require_once( ABSPATH . '/wp-admin/includes/file.php' );
    Line 101: require_once( ABSPATH . '/wp-admin/includes/file.php' );
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : layout.php
    Line 2: require_once(porto_functions . '/layout/breadcrumbs.php');
    Line 3: require_once(porto_functions . '/layout/page-title.php');
    Line 2459: require_once( porto_dir . '/style-internal.php' );
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or 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');
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : woocommerce.php
    Line 6: require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or 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');
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
Other checked themes