0
Validation results

ShopKit

ShopKit

WordPress 6.5.2 theme
0
  • THEME TYPEWordPress theme 6.5.2
  • FILE NAMEshopkit.zip
  • FILE SIZE30522512 bytes
  • MD50b46a7d12ba274206349451b37b296e0
  • SHA13f4f9a176a02712ce4ea3ddf7cb9c609134a49b2
  • LICENSECustom
  • FILES INCLUDEDCSS, PHP, XML, Bitmap images, Adobe Illustrator
  • THEME URIhttps://shopkit.xforwoocommerce.com
  • VERSION2.0.5
  • TAGSone-column, two-columns, three-columns, four-columns, left-sidebar, right-sidebar, accessibility-ready, custom-colors, custom-menu, featured-images, full-width-template, microformats, post-formats, rtl-language-support, sticky-post, theme-options, threaded
  • CREATION DATE2019-09-19
  • LAST FILE UPDATE2019-09-19
  • LAST VALIDATION2019-09-19 16:28
This theme seems to be proprietary. Themecheck doesn't distribute commercial themes.
Critical alerts
  1. Security breaches : Use of base64_decode() Found base64_decode in file ot-functions-admin.php. 5055: $decoded = base64_decode( $value ); // phpcs:ignore
  2. Security breaches : Use of base64_encode() Found base64_encode in file ot-functions-admin.php.
     return base64_encode( maybe_serialize( $value ) ); // phpcs:ignore
  3. Unwanted files : hidden file(s) or folder(s) .editorconfig .travis.yml .gitignore .phpcs.ruleset.xml .jscsrc .dev-lib .jshintignore .jshintrc .eslintignore .eslintrc was found.
  4. Malware : Operations on file system file_get_contents was found in the file bootstrap.php 56: $_plugin_file_src = file_get_contents( $_plugin_file_candidate );fopen was found in the file ot-functions-admin.php 3701: $f = @fopen( $filepath, 'w' ); // phpcs:ignore3794: $f = @fopen( $filepath, 'w' ); // phpcs:ignorefwrite was found in the file ot-functions-admin.php 3731: fwrite( $f, '{$markerline}\n' ); // phpcs:ignore3733: fwrite( $f, '{$markerline}' ); // phpcs:ignore3739: fwrite( $f, '/* BEGIN {$marker} */\n' ); // phpcs:ignore3740: fwrite( $f, '{$insertion}\n' ); // phpcs:ignore3741: fwrite( $f, '/* END {$marker} */\n' ); // phpcs:ignore3750: fwrite( $f, '/* BEGIN {$marker} */\n' ); // phpcs:ignore3751: fwrite( $f, '{$insertion}\n' ); // phpcs:ignore3752: fwrite( $f, '/* END {$marker} */\n' ); // phpcs:ignore3823: fwrite( $f, '{$markerline}\n' ); // phpcs:ignore3825: fwrite( $f, '{$markerline}' ); // phpcs:ignore3831: fwrite( $f, '' ); // phpcs:ignorefwrite was found in the file ot-functions-admin.php 3731: fwrite( $f, '{$markerline}\n' ); // phpcs:ignore3733: fwrite( $f, '{$markerline}' ); // phpcs:ignore3739: fwrite( $f, '/* BEGIN {$marker} */\n' ); // phpcs:ignore3740: fwrite( $f, '{$insertion}\n' ); // phpcs:ignore3741: fwrite( $f, '/* END {$marker} */\n' ); // phpcs:ignore3750: fwrite( $f, '/* BEGIN {$marker} */\n' ); // phpcs:ignore3751: fwrite( $f, '{$insertion}\n' ); // phpcs:ignore3752: fwrite( $f, '/* END {$marker} */\n' ); // phpcs:ignore3823: fwrite( $f, '{$markerline}\n' ); // phpcs:ignore3825: fwrite( $f, '{$markerline}' ); // phpcs:ignore3831: fwrite( $f, '' ); // phpcs:ignorefwrite was found in the file ot-functions-admin.php 3731: fwrite( $f, '{$markerline}\n' ); // phpcs:ignore3733: fwrite( $f, '{$markerline}' ); // phpcs:ignore3739: fwrite( $f, '/* BEGIN {$marker} */\n' ); // phpcs:ignore3740: fwrite( $f, '{$insertion}\n' ); // phpcs:ignore3741: fwrite( $f, '/* END {$marker} */\n' ); // phpcs:ignore3750: fwrite( $f, '/* BEGIN {$marker} */\n' ); // phpcs:ignore3751: fwrite( $f, '{$insertion}\n' ); // phpcs:ignore3752: fwrite( $f, '/* END {$marker} */\n' ); // phpcs:ignore3823: fwrite( $f, '{$markerline}\n' ); // phpcs:ignore3825: fwrite( $f, '{$markerline}' ); // phpcs:ignore3831: fwrite( $f, '' ); // phpcs:ignorefwrite was found in the file ot-functions-admin.php 3731: fwrite( $f, '{$markerline}\n' ); // phpcs:ignore3733: fwrite( $f, '{$markerline}' ); // phpcs:ignore3739: fwrite( $f, '/* BEGIN {$marker} */\n' ); // phpcs:ignore3740: fwrite( $f, '{$insertion}\n' ); // phpcs:ignore3741: fwrite( $f, '/* END {$marker} */\n' ); // phpcs:ignore3750: fwrite( $f, '/* BEGIN {$marker} */\n' ); // phpcs:ignore3751: fwrite( $f, '{$insertion}\n' ); // phpcs:ignore3752: fwrite( $f, '/* END {$marker} */\n' ); // phpcs:ignore3823: fwrite( $f, '{$markerline}\n' ); // phpcs:ignore3825: fwrite( $f, '{$markerline}' ); // phpcs:ignore3831: fwrite( $f, '' ); // phpcs:ignorefwrite was found in the file ot-functions-admin.php 3731: fwrite( $f, '{$markerline}\n' ); // phpcs:ignore3733: fwrite( $f, '{$markerline}' ); // phpcs:ignore3739: fwrite( $f, '/* BEGIN {$marker} */\n' ); // phpcs:ignore3740: fwrite( $f, '{$insertion}\n' ); // phpcs:ignore3741: fwrite( $f, '/* END {$marker} */\n' ); // phpcs:ignore3750: fwrite( $f, '/* BEGIN {$marker} */\n' ); // phpcs:ignore3751: fwrite( $f, '{$insertion}\n' ); // phpcs:ignore3752: fwrite( $f, '/* END {$marker} */\n' ); // phpcs:ignore3823: fwrite( $f, '{$markerline}\n' ); // phpcs:ignore3825: fwrite( $f, '{$markerline}' ); // phpcs:ignore3831: fwrite( $f, '' ); // phpcs:ignorefwrite was found in the file ot-functions-admin.php 3731: fwrite( $f, '{$markerline}\n' ); // phpcs:ignore3733: fwrite( $f, '{$markerline}' ); // phpcs:ignore3739: fwrite( $f, '/* BEGIN {$marker} */\n' ); // phpcs:ignore3740: fwrite( $f, '{$insertion}\n' ); // phpcs:ignore3741: fwrite( $f, '/* END {$marker} */\n' ); // phpcs:ignore3750: fwrite( $f, '/* BEGIN {$marker} */\n' ); // phpcs:ignore3751: fwrite( $f, '{$insertion}\n' ); // phpcs:ignore3752: fwrite( $f, '/* END {$marker} */\n' ); // phpcs:ignore3823: fwrite( $f, '{$markerline}\n' ); // phpcs:ignore3825: fwrite( $f, '{$markerline}' ); // phpcs:ignore3831: fwrite( $f, '' ); // phpcs:ignorefwrite was found in the file ot-functions-admin.php 3731: fwrite( $f, '{$markerline}\n' ); // phpcs:ignore3733: fwrite( $f, '{$markerline}' ); // phpcs:ignore3739: fwrite( $f, '/* BEGIN {$marker} */\n' ); // phpcs:ignore3740: fwrite( $f, '{$insertion}\n' ); // phpcs:ignore3741: fwrite( $f, '/* END {$marker} */\n' ); // phpcs:ignore3750: fwrite( $f, '/* BEGIN {$marker} */\n' ); // phpcs:ignore3751: fwrite( $f, '{$insertion}\n' ); // phpcs:ignore3752: fwrite( $f, '/* END {$marker} */\n' ); // phpcs:ignore3823: fwrite( $f, '{$markerline}\n' ); // phpcs:ignore3825: fwrite( $f, '{$markerline}' ); // phpcs:ignore3831: fwrite( $f, '' ); // phpcs:ignorefwrite was found in the file ot-functions-admin.php 3731: fwrite( $f, '{$markerline}\n' ); // phpcs:ignore3733: fwrite( $f, '{$markerline}' ); // phpcs:ignore3739: fwrite( $f, '/* BEGIN {$marker} */\n' ); // phpcs:ignore3740: fwrite( $f, '{$insertion}\n' ); // phpcs:ignore3741: fwrite( $f, '/* END {$marker} */\n' ); // phpcs:ignore3750: fwrite( $f, '/* BEGIN {$marker} */\n' ); // phpcs:ignore3751: fwrite( $f, '{$insertion}\n' ); // phpcs:ignore3752: fwrite( $f, '/* END {$marker} */\n' ); // phpcs:ignore3823: fwrite( $f, '{$markerline}\n' ); // phpcs:ignore3825: fwrite( $f, '{$markerline}' ); // phpcs:ignore3831: fwrite( $f, '' ); // phpcs:ignorefclose was found in the file ot-functions-admin.php 3756: fclose( $f ); // phpcs:ignore3838: fclose( $f ); // phpcs:ignorefopen was found in the file ot-functions-admin.php 3701: $f = @fopen( $filepath, 'w' ); // phpcs:ignore3794: $f = @fopen( $filepath, 'w' ); // phpcs:ignorefwrite was found in the file ot-functions-admin.php 3731: fwrite( $f, '{$markerline}\n' ); // phpcs:ignore3733: fwrite( $f, '{$markerline}' ); // phpcs:ignore3739: fwrite( $f, '/* BEGIN {$marker} */\n' ); // phpcs:ignore3740: fwrite( $f, '{$insertion}\n' ); // phpcs:ignore3741: fwrite( $f, '/* END {$marker} */\n' ); // phpcs:ignore3750: fwrite( $f, '/* BEGIN {$marker} */\n' ); // phpcs:ignore3751: fwrite( $f, '{$insertion}\n' ); // phpcs:ignore3752: fwrite( $f, '/* END {$marker} */\n' ); // phpcs:ignore3823: fwrite( $f, '{$markerline}\n' ); // phpcs:ignore3825: fwrite( $f, '{$markerline}' ); // phpcs:ignore3831: fwrite( $f, '' ); // phpcs:ignorefwrite was found in the file ot-functions-admin.php 3731: fwrite( $f, '{$markerline}\n' ); // phpcs:ignore3733: fwrite( $f, '{$markerline}' ); // phpcs:ignore3739: fwrite( $f, '/* BEGIN {$marker} */\n' ); // phpcs:ignore3740: fwrite( $f, '{$insertion}\n' ); // phpcs:ignore3741: fwrite( $f, '/* END {$marker} */\n' ); // phpcs:ignore3750: fwrite( $f, '/* BEGIN {$marker} */\n' ); // phpcs:ignore3751: fwrite( $f, '{$insertion}\n' ); // phpcs:ignore3752: fwrite( $f, '/* END {$marker} */\n' ); // phpcs:ignore3823: fwrite( $f, '{$markerline}\n' ); // phpcs:ignore3825: fwrite( $f, '{$markerline}' ); // phpcs:ignore3831: fwrite( $f, '' ); // phpcs:ignorefwrite was found in the file ot-functions-admin.php 3731: fwrite( $f, '{$markerline}\n' ); // phpcs:ignore3733: fwrite( $f, '{$markerline}' ); // phpcs:ignore3739: fwrite( $f, '/* BEGIN {$marker} */\n' ); // phpcs:ignore3740: fwrite( $f, '{$insertion}\n' ); // phpcs:ignore3741: fwrite( $f, '/* END {$marker} */\n' ); // phpcs:ignore3750: fwrite( $f, '/* BEGIN {$marker} */\n' ); // phpcs:ignore3751: fwrite( $f, '{$insertion}\n' ); // phpcs:ignore3752: fwrite( $f, '/* END {$marker} */\n' ); // phpcs:ignore3823: fwrite( $f, '{$markerline}\n' ); // phpcs:ignore3825: fwrite( $f, '{$markerline}' ); // phpcs:ignore3831: fwrite( $f, '' ); // phpcs:ignorefclose was found in the file ot-functions-admin.php 3756: fclose( $f ); // phpcs:ignore3838: fclose( $f ); // phpcs:ignore
  5. Included plugins : Zip file found Plugins are not allowed in themes. The zip file found was ultimate_vc_addons.zip xforwoocommerce.zip revslider.zip js_composer.zip.
Warning
  1. Text domain : Incorrect use of translation functions.Wrong installation directory for the theme name. The directory name must match the slug of the theme. This theme's correct slug and text-domain is shopkit.
  2. Text domain : Incorrect use of translation functions.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 shopkit, theme-text-domain, option-tree-theme, option-tree, breadcrumb-trail.
  3. Plugin territory : Plugin territory functionalitiesThe theme uses the register_post_type() function, which is plugin-territory functionality.
  4. Unwanted directories : GIT revision control directoryA.git was found.
  5. Custom elements : Presence of custom headerNo reference to custom header was found in the theme.
  6. Editor style : Presence of editor styleNo reference to add_editor_style() was found in the theme. It is recommended that the theme implements editor styling, so as to make the editor content match the resulting post output in the theme, for a better user experience.
  7. Date and time implementation : Use of the_time()At least one hard coded date was found in the file class-theme.php. Function get_option( 'date_format' ) should be used instead.
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 search results template file search.phpThis theme does not contain optional file search.php.
  11. Optional files : Presence of attachment template file attachment.phpThis theme does not contain optional file attachment.php.
  12. Optional files : Presence of image template file image.phpThis theme does not contain optional file image.php.
  13. Use of includes : Use of include or requireThe theme appears to use include or require : settings-plugins.php 7: require_once ( get_template_directory() . '/framework/tgm-activation/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 : Parser.php 3: require_once( get_template_directory() . '/framework/less/lib/Less/Cache.ph515: 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 : Cache.php 3: require_once( get_template_directory() . '/framework/less/lib/Less/Version.140: 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 : settings-theme.php 44: require_once( get_template_directory() . '/framework/less/lessc.inc.php' );947: include( 'fonts.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 : settings-ot.php 4214: include( 'fonts.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 : demo-functions.php 65: # require( trailingslashit( get_template_directory() ) . 'option-tree/ot-load70: # require( trailingslashit( get_template_directory() ) . 'admin/theme-options 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 : ot-functions-docs-page.php 874: require( trailingslashit( get_template_directory() ) . \'includes/meta-boxe970: require( trailingslashit( get_template_directory() ) . \'option-tree/ot-loa999: require( trailingslashit( get_template_directory() ) . \'includes/theme-opt 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