31
Validation results

The Hanger

The Hanger

WordPress 5.0.3 theme
31
Critical alerts
  1. Unwanted files : hidden file(s) or folder(s) .eslintrc.json was found.
  2. Admin menu : Themes should use add_theme_page() for adding admin pages. File class-tgm-plugin-activation.php :
    Line 732: // $this->page_hook = call_user_func( 'add_submenu_page', $args['parent_slug'], $args['page_title'], $args['menu_t
  3. Included plugins : Zip file found Plugins are not allowed in themes. The zip file found was ._js_composer.zip ._the-hanger-extender.zip js_composer.zip the-hanger-extender.zip.
Warning
  1. theme tags : Presence of bad theme tagsFound wrong tag in style.css header.
  2. Text domain : Incorrect use of translation functions.Found a translation function that is missing a text-domain. Function esc_html_e, with the arguments 'woocommerce' in file header-sticky-product.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 the-hanger, tgmpa, woocommerce, kirki.
  3. Comment pagination : Declaration of comment paginationThe theme doesn't have comment pagination code in it. Use paginate_comments_links() to add comment pagination, or older previous_comments_link() and next_comments_link() functions.
  4. Custom elements : Presence of custom headerNo reference to custom header was found in the theme.
  5. Custom elements : Presence of custom backgroundNo reference to custom background 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. I18N implementation : Proper use of _e(Possible variable $button_text found in translation function in header-sticky-product.php. Translation function calls should not contain PHP variables.
    Line 37: <span><?php esc_html_e( $button_text, 'woocommerce' );?></span>
    Possible variable $plugin found in translation function in class-gbt-install-wizard.php. Translation function calls should not contain PHP variables.
    Line 278: <!-- <span class='plugin-description'><?php echo isset( $plugin['description'] )? esc_html_e( $plugin['description'], 'the-hanger' ) : '';?></span> -->
  8. I18N implementation : Proper use of esc_html_e(Possible variable $button_text found in translation function in header-sticky-product.php. Translation function calls should not contain PHP variables.
    Line 37: <span><?php esc_html_e( $button_text, 'woocommerce' );?></span>
    Possible variable $plugin found in translation function in class-gbt-install-wizard.php. Translation function calls should not contain PHP variables.
    Line 278: <!-- <span class='plugin-description'><?php echo isset( $plugin['description'] )? esc_html_e( $plugin['description'], 'the-hanger' ) : '';?></span> -->
  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.Bad screenshot file extension ! File screenshot.png is not an actual JPG file. Detected type was : "image/png".
Tip-off
  1. favicon presence : Favicon managementPossible Favicon found in theme-setup.php. Favicons are handled by the Site Icon setting in the customizer since version 4.3.
  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 image template file image.phpThis theme does not contain optional file image.php.
  11. Use of includes : Use of include or requireThe theme appears to use include or require : frontend.php
    Line 9: include('frontend/global.css.php');
    Line 10: include('frontend/topbar.css.php');
    Line 11: include('frontend/header-style-1.css.php');
    Line 12: include('frontend/header-style-2.css.php');
    Line 13: include('frontend/header-mobiles.css.php');
    Line 14: include('frontend/dropdowns.css.php');
    Line 15: include('frontend/styling.css.php');
    Line 16: include('frontend/fonts.css.php');	
    Line 17: include('frontend/buttons.css.php');
    Line 18: include('frontend/shop.css.php');
    Line 19: include('frontend/widgets.css.php');
    Line 20: include('frontend/footer.css.php');
    Line 22: include('frontend/gray-dark.css.php');
    Line 23: include('frontend/gray-medium.css.php');
    Line 24: include('frontend/gray-light.css.php');
    Line 25: include('frontend/gray-ultra-light.css.php');
    Line 27: include('frontend/catalog_mode.css.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 : backend.php
    Line 5: require_once('backend/index.php');
    Line 6: require_once('backend/go-to-page.php');
    Line 8: require_once('backend/global/index.php');
    Line 9: require_once('backend/header/index.php');
    Line 10: require_once('backend/fonts/index.php');
    Line 11: require_once('backend/blog/index.php');
    Line 12: require_once('backend/footer/index.php');
    Line 13: require_once('backend/social/index.php');
    Line 16: require_once('backend/shop/index.php');
    Line 17: require_once('backend/product/index.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 : index.php
    Line 43: require_once('mega_header/index.php');
    Line 44: require_once('mega_header/settings.php');
    Line 45: require_once('mega_header/elements.php');
    Line 46: require_once('mega_header/topbar.php');
    Line 47: require_once('mega_header/logo.php');
    Line 48: require_once('mega_header/sticky.php');
    Line 49: require_once('mega_header/dropdowns.php');
    Line 50: require_once('mega_header/mobile.php');
    Line 52: require_once('mega_header/mega_menu/mega_menu.php');
    Line 53: require_once('mega_header/mega_dropdown/mega_dropdown.php');
    Line 55: require_once('simplified/index.php');
    Line 56: require_once('simplified/settings.php');
    Line 57: require_once('simplified/logo.php');
    Line 58: require_once('simplified/elements.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 : mega_menu.php
    Line 140: 
    Line 141: 
    Line 142: 
    Line 143: 
    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 : mega_dropdown.php
    Line 383: 
    Line 384: 
    Line 564: 
    Line 565: 
    Line 566: 
    Line 567: 
    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 : index.php
    Line 36: require_once('archives.php');
    Line 37: require_once('single.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 : index.php
    Line 43: require_once('layout.php');
    Line 44: require_once('catalog_mode.php');
    Line 45: require_once('custom_archives.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-category-icon.php
    Line 3: require_once(get_template_directory() 	. '/inc/addons/woocommerce-category-
    Line 4: require_once(get_template_directory() 	. '/inc/addons/woocommerce-category-
    Line 5: require_once(get_template_directory() 	. '/inc/addons/woocommerce-category-
    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-setup.php
    Line 4: require_once( get_template_directory() . '/inc/tgm/class-tgm-plugin-activat
    Line 5: require_once( get_template_directory() . '/inc/tgm/plugins.php' );
    Line 6: require_once( get_template_directory() . '/inc/admin/wizard/class-gbt-helpe
    Line 7: require_once( get_template_directory() . '/inc/admin/wizard/class-gbt-insta
    Line 13: require_once(get_template_directory() . '/inc/demo/ocdi-setup.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 ).

56
Critical alerts
  1. Unwanted files : hidden file(s) or folder(s) .eslintrc.json was found.
  2. Included plugins : Zip file found Plugins are not allowed in themes. The zip file found was ._js_composer.zip ._the-hanger-extender.zip js_composer.zip the-hanger-extender.zip.
Warning
  1. theme tags : Presence of bad theme tagsFound wrong tag in style.css header.
  2. Text domain : Incorrect use of translation functions.Found a translation function that is missing a text-domain. Function esc_html_e, with the arguments 'woocommerce' in file header-sticky-product.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 the-hanger, tgmpa, woocommerce, kirki.
  3. Comment pagination : Declaration of comment paginationThe theme doesn't have comment pagination code in it. Use paginate_comments_links() to add comment pagination, or older previous_comments_link() and next_comments_link() functions.
  4. 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.Bad screenshot file extension ! File screenshot.png is not an actual JPG file. Detected type was : "image/png".
Tip-off
  1. favicon presence : Favicon managementPossible Favicon found in theme-setup.php. Favicons are handled by the Site Icon setting in the customizer since version 4.3.
  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 image template file image.phpThis theme does not contain optional file image.php.
  11. Use of includes : Use of include or requireThe theme appears to use include or require : frontend.php
    Line 9: include('frontend/global.css.php');
    Line 10: include('frontend/topbar.css.php');
    Line 11: include('frontend/header-style-1.css.php');
    Line 12: include('frontend/header-style-2.css.php');
    Line 13: include('frontend/header-mobiles.css.php');
    Line 14: include('frontend/dropdowns.css.php');
    Line 15: include('frontend/styling.css.php');
    Line 16: include('frontend/fonts.css.php');	
    Line 17: include('frontend/buttons.css.php');
    Line 18: include('frontend/shop.css.php');
    Line 19: include('frontend/widgets.css.php');
    Line 20: include('frontend/footer.css.php');
    Line 22: include('frontend/gray-dark.css.php');
    Line 23: include('frontend/gray-medium.css.php');
    Line 24: include('frontend/gray-light.css.php');
    Line 25: include('frontend/gray-ultra-light.css.php');
    Line 27: include('frontend/catalog_mode.css.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 : backend.php
    Line 5: require_once('backend/index.php');
    Line 6: require_once('backend/go-to-page.php');
    Line 8: require_once('backend/global/index.php');
    Line 9: require_once('backend/header/index.php');
    Line 10: require_once('backend/fonts/index.php');
    Line 11: require_once('backend/blog/index.php');
    Line 12: require_once('backend/footer/index.php');
    Line 13: require_once('backend/social/index.php');
    Line 16: require_once('backend/shop/index.php');
    Line 17: require_once('backend/product/index.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 : index.php
    Line 43: require_once('mega_header/index.php');
    Line 44: require_once('mega_header/settings.php');
    Line 45: require_once('mega_header/elements.php');
    Line 46: require_once('mega_header/topbar.php');
    Line 47: require_once('mega_header/logo.php');
    Line 48: require_once('mega_header/sticky.php');
    Line 49: require_once('mega_header/dropdowns.php');
    Line 50: require_once('mega_header/mobile.php');
    Line 52: require_once('mega_header/mega_menu/mega_menu.php');
    Line 53: require_once('mega_header/mega_dropdown/mega_dropdown.php');
    Line 55: require_once('simplified/index.php');
    Line 56: require_once('simplified/settings.php');
    Line 57: require_once('simplified/logo.php');
    Line 58: require_once('simplified/elements.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 : mega_menu.php
    Line 140: 
    Line 141: 
    Line 142: 
    Line 143: 
    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 : mega_dropdown.php
    Line 383: 
    Line 384: 
    Line 564: 
    Line 565: 
    Line 566: 
    Line 567: 
    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 : index.php
    Line 36: require_once('archives.php');
    Line 37: require_once('single.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 : index.php
    Line 43: require_once('layout.php');
    Line 44: require_once('catalog_mode.php');
    Line 45: require_once('custom_archives.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-category-icon.php
    Line 3: require_once(get_template_directory() 	. '/inc/addons/woocommerce-category-
    Line 4: require_once(get_template_directory() 	. '/inc/addons/woocommerce-category-
    Line 5: require_once(get_template_directory() 	. '/inc/addons/woocommerce-category-
    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-setup.php
    Line 4: require_once( get_template_directory() . '/inc/tgm/class-tgm-plugin-activat
    Line 5: require_once( get_template_directory() . '/inc/tgm/plugins.php' );
    Line 6: require_once( get_template_directory() . '/inc/admin/wizard/class-gbt-helpe
    Line 7: require_once( get_template_directory() . '/inc/admin/wizard/class-gbt-insta
    Line 13: require_once(get_template_directory() . '/inc/demo/ocdi-setup.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