0
Validation results

Storefront

Free WordPress 6.6 theme

Storefront

Free WordPress 6.6 theme
0
  • THEME TYPEWordPress theme 6.6
  • FILE NAMEstorefront.4.3.0.zip
  • FILE SIZE5246315 bytes
  • MD5bb141783557f7ec8ab28b3b683e7fb0b
  • SHA1d43b433658e1530f7d83a56fe1331791407cbfd7
  • LICENSEGNU GPL 3
  • FILES INCLUDEDCSS, PHP, XML, Bitmap images, Adobe Illustrator
  • VERSION4.3.0
  • TAGSe-commerce, two-columns, left-sidebar, right-sidebar, custom-background, custom-colors, custom-header, custom-menu, featured-images, full-width-template, threaded-comments, accessibility-ready, rtl-language-support, footer-widgets, sticky-post, theme-optio
  • CREATION DATE2023-05-23
  • LAST FILE UPDATE2023-05-23
  • LAST VALIDATION2023-05-23 18:47
  • OTHER VERSIONS

    4.5.2 : 77%

    4.2.0 : 77%

    3.9.1 : 77%

    3.7.0 : 77%

    3.5.0 : 77%

    2.9.0 : 77%

    2.8.0 : 77%

    2.5.8 : 77%

    2.5.5 : 77%

    2.5.3 : 77%

This theme is open source.
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 : Use of eval() Found eval in file DiscouragedSwitchContinueSniff.php. 198: $level = eval('return ( $codeString );');Found eval in file CronIntervalSniff.php. 195: $interval = eval( 'return ( $value );' ); // phpcs:ignore Squiz.PHP.Eval -- No harm herFound eval in file EnqueuedResourceParametersSniff.php. 221: return ( false === eval( 'return (bool) $code_string;' ) );
  3. Security breaches : Use of PHP sytem calls Found exec in file GitStaged.php. 43: exec($cmd, $output);Found exec in file GitModified.php. 41: exec($cmd, $output);Found shell_exec in file Config.php. 228: && preg_match('|\d+ (\d+)|', shell_exec('stty size 2>&1'), $matches) === 11526: $result = exec($cmd, $output, $retVal);Found = exec in file CodeAnalyzerSniff.php. 63: $exitCode = exec($cmd, $output, $retval);Found shell_exec in file SyntaxSniff.php. 61: $output = shell_exec($cmd);Found exec in file ESLintSniff.php. 83: exec($cmd, $stdout, $code);Found exec in file JSHintSniff.php. 65: exec($cmd, $output, $retval);70: exec($cmd, $output, $retval);Found exec in file CSSLintSniff.php. 59: exec($cmd, $output, $retval);Found exec in file ClosureLinterSniff.php. 77: exec($cmd, $output, $retval);Found exec in file JSLintSniff.php. 64: exec($cmd, $output, $retval);Found = exec in file JavaScriptLintSniff.php. 61: $msg = exec($cmd, $output, $retval);Found shell_exec in file Common.php. 217: $tty = trim(shell_exec('$which tty 2> $devnull'));219: exec('tty -s 2> $devnull', $output, $returnValue);Found shell_exec in file Fixer.php. 249: // We must use something like shell_exec() because whitespace at the end254: $diff = shell_exec($cmd);Found popen in file Gitblame.php. 74: $handle = popen($command, 'r');Found popen in file Svnblame.php. 57: $handle = popen($command, 'r');Found exec in file Notifysend.php. 78: exec($this->path.' --version')199: exec($cmd);217: exec($cmd);Found popen in file Hgblame.php. 93: $handle = popen($command, 'r');
  4. Security breaches : Modification of PHP server settings Found ini_set in file Config.php. 662: ini_set($ini[0], $ini[1]);664: ini_set($ini[0], true);Found ini_set in file Runner.php. 294: @ini_set('auto_detect_line_endings', true);297: ini_set('pcre.jit', false);Found ini_set in file CommentedOutCodeSniff.php. 178: ini_set('error_reporting', 0);185: ini_set('error_reporting', $oldErrors);189: ini_set('error_reporting', $oldErrors);
  5. Malware : Operations on file system fopen was found in the file NewFopenModesSniff.php 17: * Check for valid values for the `fopen()` `$mode` parameter.21: * @link https://www.php.net/manual/en/function.fopen.php#refsect1-function.fopen-changelog25: FopenModesSniff extends AbstractFunctionCallParameterSniff36: 'fopen' => true,112: 'Passing '%s' as the $mode to fopen() is not supported in PHP %s or lower. Found %s',fopen was found in the file NewFopenModesSniff.php 17: * Check for valid values for the `fopen()` `$mode` parameter.21: * @link https://www.php.net/manual/en/function.fopen.php#refsect1-function.fopen-changelog25: FopenModesSniff extends AbstractFunctionCallParameterSniff36: 'fopen' => true,112: 'Passing '%s' as the $mode to fopen() is not supported in PHP %s or lower. Found %s',fopen was found in the file Config.php 376: $handle = fopen('php://stdin', 'r');fclose was found in the file Config.php 404: fclose($handle);file_put_contents was found in the file Config.php 1602: if (file_put_contents($configFile, $output) === false) {fopen was found in the file Runner.php 362: $handle = fopen('php://stdin', 'r');fclose was found in the file Runner.php 365: fclose($handle);file_put_contents was found in the file Runner.php 535: file_put_contents($childOutFilename, $output);fopen was found in the file LocalFile.php 45: $handle = fopen($this->path, 'r');fclose was found in the file LocalFile.php 49: fclose($handle);file_get_contents was found in the file LocalFile.php 75: $this->setContent(file_get_contents($this->path));file_put_contents was found in the file ESLintUnitTest.php 46: file_put_contents($cwd.'/.eslintrc.json', self::ESLINT_CONFIG);fopen was found in the file SubversionPropertiesSniff.php 133: $handle = fopen($path, 'r');fread was found in the file SubversionPropertiesSniff.php 149: $key = fread($handle, substr($buffer, 2));164: $value = fread($handle, $length);fread was found in the file SubversionPropertiesSniff.php 149: $key = fread($handle, substr($buffer, 2));164: $value = fread($handle, $length);fclose was found in the file SubversionPropertiesSniff.php 173: fclose($handle);fopen was found in the file NonExecutableCodeSniff.php 53: // and should be ignored. For example: fopen() or die().file_put_contents was found in the file Reporter.php 160: file_put_contents($this->tmpFiles[$type], '');162: file_put_contents($output, '');247: file_put_contents($reportFile, $generatedReport.PHP_EOL);300: file_put_contents($this->tmpFiles[$type], '');303: file_put_contents($this->tmpFiles[$type], $generatedReport, (FILE_APPEND | 305: file_put_contents($report['output'], $generatedReport, (FILE_APPEND | LOCK_file_put_contents was found in the file Reporter.php 160: file_put_contents($this->tmpFiles[$type], '');162: file_put_contents($output, '');247: file_put_contents($reportFile, $generatedReport.PHP_EOL);300: file_put_contents($this->tmpFiles[$type], '');303: file_put_contents($this->tmpFiles[$type], $generatedReport, (FILE_APPEND | 305: file_put_contents($report['output'], $generatedReport, (FILE_APPEND | LOCK_file_get_contents was found in the file Reporter.php 220: $reportCache = file_get_contents($filename);file_put_contents was found in the file Reporter.php 160: file_put_contents($this->tmpFiles[$type], '');162: file_put_contents($output, '');247: file_put_contents($reportFile, $generatedReport.PHP_EOL);300: file_put_contents($this->tmpFiles[$type], '');303: file_put_contents($this->tmpFiles[$type], $generatedReport, (FILE_APPEND | 305: file_put_contents($report['output'], $generatedReport, (FILE_APPEND | LOCK_file_put_contents was found in the file Reporter.php 160: file_put_contents($this->tmpFiles[$type], '');162: file_put_contents($output, '');247: file_put_contents($reportFile, $generatedReport.PHP_EOL);300: file_put_contents($this->tmpFiles[$type], '');303: file_put_contents($this->tmpFiles[$type], $generatedReport, (FILE_APPEND | 305: file_put_contents($report['output'], $generatedReport, (FILE_APPEND | LOCK_file_put_contents was found in the file Reporter.php 160: file_put_contents($this->tmpFiles[$type], '');162: file_put_contents($output, '');247: file_put_contents($reportFile, $generatedReport.PHP_EOL);300: file_put_contents($this->tmpFiles[$type], '');303: file_put_contents($this->tmpFiles[$type], $generatedReport, (FILE_APPEND | 305: file_put_contents($report['output'], $generatedReport, (FILE_APPEND | LOCK_file_put_contents was found in the file Reporter.php 160: file_put_contents($this->tmpFiles[$type], '');162: file_put_contents($output, '');247: file_put_contents($reportFile, $generatedReport.PHP_EOL);300: file_put_contents($this->tmpFiles[$type], '');303: file_put_contents($this->tmpFiles[$type], $generatedReport, (FILE_APPEND | 305: file_put_contents($report['output'], $generatedReport, (FILE_APPEND | LOCK_file_get_contents was found in the file Ruleset.php 152: $ruleset = @simplexml_load_string(file_get_contents($standard));320: $ruleset = simplexml_load_string(file_get_contents($rulesetPath));file_get_contents was found in the file Ruleset.php 152: $ruleset = @simplexml_load_string(file_get_contents($standard));320: $ruleset = simplexml_load_string(file_get_contents($rulesetPath));file_get_contents was found in the file Cache.php 266: self::$cache = json_decode(file_get_contents(self::$path), true);file_put_contents was found in the file Cache.php 291: file_put_contents(self::$path, json_encode(self::$cache));fopen was found in the file Common.php 68: $f = @fopen($path, 'rb');fclose was found in the file Common.php 69: if (fclose($f) === true) {file_get_contents was found in the file Standards.php 124: $ruleset = @simplexml_load_string(file_get_contents($rulesetPath));fopen was found in the file Fixer.php 246: $fixedFile = fopen($tempName, 'w');fwrite was found in the file Fixer.php 247: fwrite($fixedFile, $contents);fclose was found in the file Fixer.php 256: fclose($fixedFile);file_put_contents was found in the file Cbf.php 94: file_put_contents($newFilename, $newContent);file_get_contents was found in the file AbstractMethodUnitTest.php 60: $contents .= file_get_contents($pathToTestFile);file_get_contents was found in the file RuleInclusionTest.php 75: $contents = file_get_contents($standard);file_put_contents was found in the file RuleInclusionTest.php 87: if (file_put_contents($standard, $adjusted) === false) {104: file_put_contents(self::$standard, self::$contents);file_put_contents was found in the file RuleInclusionTest.php 87: if (file_put_contents($standard, $adjusted) === false) {104: file_put_contents(self::$standard, self::$contents);file_get_contents was found in the file RuleInclusionAbsoluteLinuxTest.php 59: $contents = file_get_contents($this->standard);file_put_contents was found in the file RuleInclusionAbsoluteLinuxTest.php 69: if (file_put_contents($this->standard, $adjusted) === false) {87: file_put_contents($this->standard, $this->contents);file_put_contents was found in the file RuleInclusionAbsoluteLinuxTest.php 69: if (file_put_contents($this->standard, $adjusted) === false) {87: file_put_contents($this->standard, $this->contents);file_get_contents was found in the file RuleInclusionAbsoluteWindowsTest.php 63: $contents = file_get_contents($this->standard);file_put_contents was found in the file RuleInclusionAbsoluteWindowsTest.php 68: if (file_put_contents($this->standard, $adjusted) === false) {87: file_put_contents($this->standard, $this->contents);file_put_contents was found in the file RuleInclusionAbsoluteWindowsTest.php 68: if (file_put_contents($this->standard, $adjusted) === false) {87: file_put_contents($this->standard, $this->contents);fwrite was found in the file platform_check.php 17: fwrite(STDERR, 'Composer detected issues in your platform:' . PHP_EOL.PHP_E
  6. Admin menu : Themes should use add_theme_page() for adding admin pages. File content-page.php : File PluginMenuSlugSniff.php : 48: 'add_menu_page' => array( 4 ),File PluginMenuSlugSniff.php : 49: 'add_object_page' => array( 4 ),File PluginMenuSlugSniff.php : 50: 'add_utility_page' => array( 4 ),File PluginMenuSlugSniff.php : 51: 'add_submenu_page' => array( 1, 5 ),File PluginMenuSlugSniff.php : 52: 'add_dashboard_page' => array( 4 ),File PluginMenuSlugSniff.php : 53: 'add_posts_page' => array( 4 ),File PluginMenuSlugSniff.php : 54: 'add_media_page' => array( 4 ),File PluginMenuSlugSniff.php : 55: 'add_links_page' => array( 4 ),File PluginMenuSlugSniff.php : 56: 'add_pages_page' => array( 4 ),File PluginMenuSlugSniff.php : 57: 'add_comments_page' => array( 4 ),File PluginMenuSlugSniff.php : 59: 'add_plugins_page' => array( 4 ),File PluginMenuSlugSniff.php : 60: 'add_users_page' => array( 4 ),File PluginMenuSlugSniff.php : 61: 'add_management_page' => array( 4 ),File PluginMenuSlugSniff.php : 62: 'add_options_page' => array( 4 ),File DeprecatedFunctionsSniff.php : 1246: 'add_object_page' => array(File DeprecatedFunctionsSniff.php : 1247: 'alt' => 'add_menu_page()',1251: 'alt' => 'add_menu_page()',File DeprecatedFunctionsSniff.php : 1250: 'add_utility_page' => array(File DeprecatedFunctionsSniff.php : 1247: 'alt' => 'add_menu_page()',1251: 'alt' => 'add_menu_page()',
  7. Inapropriate constants : Use of STYLESHEETPATH Constant STYLESHEETPATH' was found in the file DiscouragedConstantsSniff.php. get_stylesheet_directory() should be used instead. 32: 'STYLESHEETPATH' => 'get_stylesheet_directory()',
  8. Inapropriate constants : Use of TEMPLATEPATH Constant TEMPLATEPATH' was found in the file DiscouragedConstantsSniff.php. get_template_directory() should be used instead. 33: 'TEMPLATEPATH' => 'get_template_directory()',
  9. Inapropriate constants : Use of PLUGINDIR Constant PLUGINDIR' was found in the file DiscouragedConstantsSniff.php. WP_PLUGIN_DIR should be used instead. 34: 'PLUGINDIR' => 'WP_PLUGIN_DIR',35: 'MUPLUGINDIR' => 'WPMU_PLUGIN_DIR',Constant PLUGINDIR' was found in the file PrefixAllGlobalsSniff.php. WP_PLUGIN_DIR should be used instead. 165: 'PLUGINDIR' => true,168: 'MUPLUGINDIR' => true,
  10. Inapropriate constants : Use of MUPLUGINDIR Constant MUPLUGINDIR' was found in the file DiscouragedConstantsSniff.php. WPMU_PLUGIN_DIR should be used instead. 35: 'MUPLUGINDIR' => 'WPMU_PLUGIN_DIR',Constant MUPLUGINDIR' was found in the file PrefixAllGlobalsSniff.php. WPMU_PLUGIN_DIR should be used instead. 168: 'MUPLUGINDIR' => true,
  11. Inapropriate constants : Use of HEADER_IMAGE Constant HEADER_IMAGE' was found in the file DiscouragedConstantsSniff.php. add_theme_support( 'custom-header' ) should be used instead. 36: 'HEADER_IMAGE' => 'add_theme_support( \'custom-header\' )',
  12. Inapropriate constants : Use of NO_HEADER_TEXT Constant NO_HEADER_TEXT' was found in the file DiscouragedConstantsSniff.php. add_theme_support( 'custom-header' ) should be used instead. 37: 'NO_HEADER_TEXT' => 'add_theme_support( \'custom-header\' )',
  13. Inapropriate constants : Use of HEADER_TEXTCOLOR Constant HEADER_TEXTCOLOR' was found in the file DiscouragedConstantsSniff.php. add_theme_support( 'custom-header' ) should be used instead. 38: 'HEADER_TEXTCOLOR' => 'add_theme_support( \'custom-header\' )',
  14. Inapropriate constants : Use of HEADER_IMAGE_WIDTH Constant HEADER_IMAGE_WIDTH' was found in the file DiscouragedConstantsSniff.php. add_theme_support( 'custom-header' ) should be used instead. 39: 'HEADER_IMAGE_WIDTH' => 'add_theme_support( \'custom-header\' )',
  15. Inapropriate constants : Use of HEADER_IMAGE_HEIGHT Constant HEADER_IMAGE_HEIGHT' was found in the file DiscouragedConstantsSniff.php. add_theme_support( 'custom-header' ) should be used instead. 40: 'HEADER_IMAGE_HEIGHT' => 'add_theme_support( \'custom-header\' )',
  16. Inapropriate constants : Use of BACKGROUND_COLOR Constant BACKGROUND_COLOR' was found in the file DiscouragedConstantsSniff.php. add_theme_support( 'custom-background' ) should be used instead. 41: 'BACKGROUND_COLOR' => 'add_theme_support( \'custom-background\' )',
  17. Inapropriate constants : Use of BACKGROUND_IMAGE Constant BACKGROUND_IMAGE' was found in the file DiscouragedConstantsSniff.php. add_theme_support( 'custom-background' ) should be used instead. 42: 'BACKGROUND_IMAGE' => 'add_theme_support( \'custom-background\' )',
Warning
  1. Plugin territory : Plugin territory functionalitiesThe theme uses the register_post_type() function, which is plugin-territory functionality.
  2. PHP short tags : Presence of PHP short tagsPHP short tags were found in file NewPHPOpenTagEOFSniff.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.21: * > `<? php` and resulted in a syntax error (with short_open_tag=1) or was108: } elseif ($contents === '<?=') {118: && $tokens[($stackPtr - 1)]['content'] === '<?'126: if (rtrim($contents) === '<?=') {PHP short tags were found in file DisallowShortOpenTagSniff.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.56: if ($token['code'] === T_OPEN_TAG && $token['content'] === '<?') {63: // Avoid creation of invalid open tags like <?phpecho if the original was <?echo .95: $openerFound = strpos($content, '<?');123: $snippet = $this->getSnippet($content, '<?');124: $data = ['<?'.$snippet];PHP short tags were found in file EscapeOutputSniff.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.27: * echo tags `<?=`.
  3. Custom elements : Presence of custom headerNo reference to custom header was found in the theme.
  4. Custom elements : Presence of custom backgroundNo reference to custom background was found in the theme.
  5. Screenshot : Screenshot fileBad screenshot file extension ! File screenshot.png is not an actual JPG file. Detected type was : "image/png".
Tip-off
  1. theme tags : Presence of bad theme tagsThemes that use the tag accessibility-ready will need to undergo an accessibility review.
    See https://make.wordpress.org/themes/handbook/review/accessibility/
  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 : class-storefront-woocommerce.php 134: * @return array $classes modified to include 'woocommerce-active' class 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-storefront-nux-admin.php 212: require 'class-storefront-nux-admin-inbox-messages-customize.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 : IncludeSystemSniff.php 187: $error = 'Static method called on non-included class or system '%s'; include system with Channels::includeSystem() or include class with require_once';268: $error = 'Class extends non-included class or system '%s'; include system with Channels::includeSystem() or include class with require_once';272: $error = 'Static method called on non-included class or system '%s'; include system with Channels::includeSystem() or include class with require_once'; 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 : AllTests.php 13: include_once 'Core/AllTests.php';14: include_once 'Standards/AllSniffs.php';16: include_once 'CodeSniffer/Core/AllTests.php';17: include_once 'CodeSniffer/Standards/AllSniffs.php';18: include_once 'FileList.php';33: include_once 'TestSuite7.php';35: include_once 'TestSuite.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 : bootstrap.php 25: include_once 'PHP/CodeSniffer/autoload.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