0
Validation results

Savoy

Savoy

WordPress 6.7 theme
0
  • THEME TYPEWordPress theme 6.7
  • FILE NAMEsavoy.zip
  • FILE SIZE7435608 bytes
  • MD5f73fe6b9ce58d7f83b004a216253ba7d
  • SHA170013a25f2ea78f4484f26d2db0dcfd3d415111d
  • LICENSENone
  • FILES INCLUDEDCSS, PHP, XML, Bitmap images, Adobe Illustrator
  • VERSION2.1.3
  • AUTHOR URI
  • TAGSresponsive-layout, custom-background, custom-colors, custom-header, custom-menu, theme-options, threaded-comments, translation-ready
  • CREATION DATE2019-12-17
  • LAST FILE UPDATE2019-12-17
  • LAST VALIDATION2019-12-17 05:37
  • OTHER VERSIONS

    2.6.3 : 34%

    2.5.5 : 34%

    2.5.1 : 34%

    2.3.6 : 34%

    2.0.4 : 0%

This theme seems to be proprietary. Themecheck doesn't distribute commercial themes.
Critical alerts
  1. Customizer : Sanitization of Customizer settings Found a Customizer setting that did not have a sanitization callback function in file extension_customizer.php. Every call to the add_setting() method needs to have a sanitization callback function passed.
  2. Presence of iframes : iframes are sometimes used to load unwanted adverts and malicious code on another site Found <iframe width="100%" height="100%" src="https://maps.google.com/maps?q=' . urlencode( $address ) . '&t=' . esc_attr( $map_type ) . '&z=' . intval( $zoom ) . '&ie=UTF8&iwloc=&output=embed" frameborder="0" scrolling="no"> in file google-map-embed.php. 12: return '<div class='nm-gmap-embed' style='height:' . intval( $height ) . 'px'><iframe width='100%' height='100%' src='https://maps.google.com/maps?q=' .
  3. Malware : Operations on file system file_get_contents was found in the file class-whizzie-widget-importer.php 27: $data = file_get_contents( $file );file_get_contents was found in the file parsers.php 66: $success = $dom->loadXML( file_get_contents( $file ) );296: if ( ! xml_parse( $xml, file_get_contents( $file ), true ) ) {file_get_contents was found in the file parsers.php 66: $success = $dom->loadXML( file_get_contents( $file ) );296: if ( ! xml_parse( $xml, file_get_contents( $file ), true ) ) {fopen was found in the file parsers.php 451: $fp = $this->fopen( $file, 'r' );675: function fopen( $filename, $mode = 'r' ) {678: return fopen( $filename, $mode );fclose was found in the file parsers.php 498: $this->fclose($fp);693: function fclose( $fp ) {696: return fclose( $fp );fopen was found in the file parsers.php 451: $fp = $this->fopen( $file, 'r' );675: function fopen( $filename, $mode = 'r' ) {678: return fopen( $filename, $mode );fopen was found in the file parsers.php 451: $fp = $this->fopen( $file, 'r' );675: function fopen( $filename, $mode = 'r' ) {678: return fopen( $filename, $mode );fclose was found in the file parsers.php 498: $this->fclose($fp);693: function fclose( $fp ) {696: return fclose( $fp );fclose was found in the file parsers.php 498: $this->fclose($fp);693: function fclose( $fp ) {696: return fclose( $fp );fopen was found in the file class.redux_helpers.php 670: //$fp = fopen( $file, 'r' );fread was found in the file class.redux_helpers.php 673: //$file_data = fread( $fp, 8192 );fclose was found in the file class.redux_helpers.php 676: //fclose( $fp );
  4. Admin menu : Themes should use add_theme_page() for adding admin pages. File welcome.php : 199: $page = 'add_management_page';File framework.php : 1357: // wrappers and need to be appened to using add_submenu_page.1408: $this->page = call_user_func( 'add_submenu_page', $page_parent, $page_title, $menu_title, $page_permission1459: call_user_func( 'add_submenu_page', $this->args['page_slug'], $section['title'], $section['tFile framework.php : 1357: // wrappers and need to be appened to using add_submenu_page.1408: $this->page = call_user_func( 'add_submenu_page', $page_parent, $page_title, $menu_title, $page_permission1459: call_user_func( 'add_submenu_page', $this->args['page_slug'], $section['title'], $section['tFile framework.php : 1434: $this->page = call_user_func( 'add_menu_page', $this->args['page_title'], $this->args['menu_title'], $thisFile framework.php : 1357: // wrappers and need to be appened to using add_submenu_page.1408: $this->page = call_user_func( 'add_submenu_page', $page_parent, $page_title, $menu_title, $page_permission1459: call_user_func( 'add_submenu_page', $this->args['page_slug'], $section['title'], $section['tFile options-config.php : 70: // For a full list of options, visit: http://codex.wordpress.org/Function_Reference/add_submenu_page#Parameters
  5. Included plugins : Zip file found Plugins are not allowed in themes. The zip file found was nm-portfolio.zip nm-instagram.zip nm-post-types.zip envato-market.zip js_composer.zip nm-wishlist.zip.
Warning
  1. core scripts deregistered : Core scripts deregistrationFound wp_deregister_script in woocommerce-functions.php. Themes must not deregister core scripts. 178: wp_deregister_script( 'select2' );179: wp_deregister_script( 'selectWoo' );Found wp_deregister_script in init.php. Themes must not deregister core scripts. 40: wp_deregister_script( 'wpb_composer_front_js' );73: wp_deregister_script( 'vc_accordion_script' );74: wp_deregister_script( 'vc_tta_autoplay_script' );75: wp_deregister_script( 'vc_tabs_script' );Found wp_deregister_script in enqueue.php. Themes must not deregister core scripts. 217: wp_deregister_script( 'jquerySelect2' );Found wp_deregister_script in framework.php. Themes must not deregister core scripts. 581: wp_deregister_script( 'wpb_ace' );
  2. theme tags : Presence of bad theme tagsThe tag responsive-layout has been deprecated, it must be removed from style.css header.
  3. 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 nm-framework, woocommerce, nm-framework-admin, tgmpa, redux-framework, themecheck.
  4. Plugin territory : Plugin territory functionalitiesThe theme uses the add_shortcode() function. Custom post-content shortcodes are plugin-territory functionality.
  5. 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.772: if (preg_match('/^\[(.+?)\]:[ ]*<?(\S+?)>?(?:[ ]+['\'(](.+)['\')])?[ ]*$/', $Line['text'], $matches))
  6. Custom elements : Presence of custom headerNo reference to custom header was found in the theme.
  7. Custom elements : Presence of custom backgroundNo reference to custom background was found in the theme.
  8. 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.
  9. Screenshot : Screenshot fileScreenshot size is 880x660px. Screenshot size should be 1200x900, to account for HiDPI displays. Any 4:3 image size is acceptable, but 1200x900 is preferred.
Tip-off
  1. Optional files : Presence of rtl stylesheet rtl.cssThis theme does not contain optional file rtl.php.
  2. Optional files : Presence of front page template file front-page.phpThis theme does not contain optional file front-page.php.
  3. Optional files : Presence of home template file home.phpThis theme does not contain optional file home.php.
  4. Optional files : Presence of term template file taxonomy.phpThis theme does not contain optional file taxonomy.php.
  5. Optional files : Presence of date/time template file date.phpThis theme does not contain optional file date.php.
  6. Optional files : Presence of attachment template file attachment.phpThis theme does not contain optional file attachment.php.
  7. Optional files : Presence of image template file image.phpThis theme does not contain optional file image.php.
  8. Use of includes : Use of include or requireThe theme appears to use include or require : init.php 99: include( NM_VC_DIR . '/shortcodes/banner.php' );100: include( NM_VC_DIR . '/shortcodes/banner-slider.php' );101: include( NM_VC_DIR . '/shortcodes/button.php' );102: if ( $nm_cf7_enabled ) { include( NM_VC_DIR . '/shortcodes/contact-form-7.php' ); }103: include( NM_VC_DIR . '/shortcodes/feature-box.php' );104: include( NM_VC_DIR . '/shortcodes/google-map.php' );105: include( NM_VC_DIR . '/shortcodes/google-map-embed.php' );106: include( NM_VC_DIR . '/shortcodes/lightbox.php' );107: include( NM_VC_DIR . '/shortcodes/post-slider.php' );108: include( NM_VC_DIR . '/shortcodes/social-profiles.php' );109: include( NM_VC_DIR . '/shortcodes/testimonial.php' );113: include( NM_VC_DIR . '/shortcodes/woocommerce/product-categories.php' );114: include( NM_VC_DIR . '/shortcodes/woocommerce/product-search.php' );115: include( NM_VC_DIR . '/shortcodes/woocommerce/product-slider.php' );123: include( NM_VC_DIR . '/page-templates.php' );130: include( NM_VC_DIR . '/elements/banner.php' );131: include( NM_VC_DIR . '/elements/banner-slider.php' );132: include( NM_VC_DIR . '/elements/button.php' );133: if ( $nm_cf7_enabled ) { include( NM_VC_DIR . '/elements/contact-form-7.php' ); }134: include( NM_VC_DIR . '/elements/feature-box.php' );135: include( NM_VC_DIR . '/elements/google-map.php' );136: include( NM_VC_DIR . '/elements/google-map-embed.php' );137: include( NM_VC_DIR . '/elements/lightbox.php' );138: include( NM_VC_DIR . '/elements/post-slider.php' );139: include( NM_VC_DIR . '/elements/social-profiles.php' );140: include( NM_VC_DIR . '/elements/testimonial.php' );144: include( NM_VC_DIR . '/elements/woocommerce/product-categories.php' );145: include( NM_VC_DIR . '/elements/woocommerce/product-search.php' );146: include( NM_VC_DIR . '/elements/woocommerce/product-slider.php' );153: include( NM_DIR . '/visual-composer/elements-config.php' );157: include( NM_VC_DIR . '/params/iconpicker.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 : config.php 34: require_once( NM_DIR . '/tgmpa/class-tgm-plugin-activation.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 : nm-setup.php 685: require( NM_DIR . '/options/default-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 : welcome.php 376: require_once 'views/about.php';391: require_once 'views/changelog.php';406: require_once 'views/extensions.php';422: require_once 'views/support.php';437: require_once 'views/credits.php';452: require_once 'views/status_report.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 : extension_customizer.php 753: 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 : class.redux_api.php 541: include_once( $api_check ); 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 426: require_once 'core/dashboard.php';430: require_once 'core/newsflash.php';1703: require_once 'core/enqueue.php';2852: require_once 'core/enqueue.php';2910: require_once 'core/panel.php';3262: require_once 'core/panel.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