15
Validation results

Hestia Pro

Hestia Pro

WordPress 5.7.2 theme
15
This theme seems to be proprietary. Themecheck doesn't distribute commercial themes.
Critical alerts
  1. Security breaches : Use of eval() Found eval in file class-hestia-hooks-page.php. 98: eval( '?>$value<?php ' );
  2. Unwanted files : hidden file(s) or folder(s) .releaserc.yml .babelrc .distignore-pro was found.
  3. Admin menu : Themes should use add_theme_page() for adding admin pages. File class-ti-white-label-admin.php : 50: add_submenu_page(
  4. Hidden admin bar : Hidden admin Bar Themes should not hide admin bar. Detected in file : class-hestia-woocommerce-infinite-scroll.php.
Warning
  1. theme tags : Presence of bad theme tagsFound wrong tag custom-logo in style.css header.Found wrong tag wide-blocks in style.css header.
  2. Plugin territory : Plugin territory functionalitiesThe theme uses the register_post_type() function, which is plugin-territory functionality.The theme uses the add_shortcode() function. Custom post-content shortcodes are plugin-territory functionality.
  3. Non-printable characters : Presence of non-printable characters in PHP filesNon-printable characters were found in file Licenser.php. This is an indicator of potential errors in PHP code.390: $license_data
  4. I18N implementation : Proper use of ___all(Possible variable $original_value found in translation function in class-hestia-translations-manager.php. Translation function calls should not contain PHP variables.
  5. Screenshot : Screenshot fileScreenshot dimensions are wrong! Detected: 1200x721px (1200:721). Ratio of width to height should be 4:3.Screenshot size is 1200x721px. 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 class-hestia-iconpicker.php.62: sprintf( '<a href='http://fontawesome.io/icons/' rel='nofollow'>%s</a>', esc_html__( 'http://fPossible hard-coded links were found in the file class-hestia-footer-controls.php.49: '<a href='https://themeisle.com/themes/hestia/' target='_blank' rel='nofollow'>%s</a>Possible hard-coded links were found in the file class-hestia-repeater.php.540: sprintf( '<a href='http://fontawesome.io/icons/' rel='nofollow'>%s</a>', esc_html__( 'http://f619: sprintf( '<a href='http://fontawesome.io/icons/' rel='nofollow'>%s</a>', esc_html__( 'http://f540: sprintf( '<a href='http://fontawesome.io/icons/' rel='nofollow'>%s</a>', esc_html__( 'http://f619: sprintf( '<a href='http://fontawesome.io/icons/' rel='nofollow'>%s</a>', esc_html__( 'http://fPossible hard-coded links were found in the file class-themeisle-ob-admin.php.211: sprintf( '<a href='https://themeisle.com/contact'>%1$s <i class='dashicons dashicons-external'Possible hard-coded links were found in the file class-ti-white-label-markup.php.298: return sprintf( $content, get_bloginfo( 'version', 'display' ), '<a href='themes.php'>' . $data['theme_name'] . '</a>' );
  2. Optional files : Presence of rtl stylesheet rtl.cssThis theme does not contain optional file rtl.php.
  3. Optional files : Presence of home template file home.phpThis theme does not contain optional file home.php.
  4. Optional files : Presence of category template file category.phpThis theme does not contain optional file category.php.
  5. Optional files : Presence of tag template file tag.phpThis theme does not contain optional file tag.php.
  6. Optional files : Presence of term template file taxonomy.phpThis theme does not contain optional file taxonomy.php.
  7. Optional files : Presence of author template file author.phpThis theme does not contain optional file author.php.
  8. Optional files : Presence of date/time template file date.phpThis theme does not contain optional file date.php.
  9. Optional files : Presence of image template file image.phpThis theme does not contain optional file image.php.
  10. Use of includes : Use of include or requireThe theme appears to use include or require : front-page.php 44: include( get_page_template() ); 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-hestia-public.php 654: require_once( $woocommerce_notice ); 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 : hooks.php 118: require_once( 'hooks-front-page.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-hestia-cart-view.php 109: require_once( HESTIA_PHP_INCLUDE . 'addons/modules/woo_enhancements/views/c 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-hestia-php-editor.php 51: include_once( $file_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-hestia-loader.php 273: include_once( $file_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-hestia-custom-layouts-module.php 194: require_once( HESTIA_PHP_INCLUDE . 'addons/modules/custom_layouts/admin/bui195: require_once( HESTIA_PHP_INCLUDE . 'addons/modules/custom_layouts/admin/bui 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-hestia-server.php 107: 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-hestia-import-zerif.php 167: require_once( HESTIA_PHP_INCLUDE . 'content-import/class-hestia-import-util 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-hestia-content-import.php 206: require_once( HESTIA_PHP_INCLUDE . 'content-import/class-hestia-import-util 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-hestia-subscribe-info.php 64: include_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 : class-ti-about-page.php 80: require_once 'includes' . DIRECTORY_SEPARATOR . 'admin' . DIRECTORY_SEPARAT181: require_once 'includes/class-ti-about-render.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 : load.php 13: require_once 'class-ti-about-page.php';17: require_once 'includes' . DIRECTORY_SEPARATOR . 'class-ti-about-plugin-help 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-ti-about-render.php 217: include_once( ABSPATH . 'wp-admin/includes/plugin-install.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 : load.php 36: require_once 'includes/class-themeisle-ob-wp-cli.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-themeisle-ob-rest-server.php 310: require_once( ABSPATH . '/wp-admin/includes/file.php' );398: require_once( ABSPATH . '/wp-admin/includes/file.php' );500: require_once 'importers/class-themeisle-ob-plugin-importer.php';523: require_once 'importers/class-themeisle-ob-content-importer.php';546: require_once 'importers/class-themeisle-ob-theme-mods-importer.php';569: require_once 'importers/class-themeisle-ob-widgets-importer.php';612: require_once 'importers/class-themeisle-ob-' . $params['template_name'] . ' 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-themeisle-ob-content-importer.php 77: require_once( ABSPATH . 'wp-admin/includes/file.php' );78: require_once( ABSPATH . 'wp-admin/includes/image.php' );79: require_once( ABSPATH . 'wp-admin/includes/media.php' );152: require_once( ABSPATH . '/wp-admin/includes/file.php' );257: require_once 'helpers/class-themeisle-ob-importer-alterator.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-themeisle-ob-plugin-importer.php 149: require_once( ABSPATH . 'wp-admin/includes/plugin-install.php' );150: require_once( ABSPATH . 'wp-admin/includes/file.php' );151: require_once( ABSPATH . 'wp-admin/includes/misc.php' );152: require_once( ABSPATH . 'wp-admin/includes/plugin.php' );153: require_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' );177: require_once 'helpers/class-themeisle-ob-quiet-skin-legacy.php';184: require_once 'helpers/class-themeisle-ob-quiet-skin.php';274: include_once( ABSPATH . 'wp-admin/includes/plugin.php' );297: require_once( $path . '/includes/admin/wc-admin-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 : class-themeisle-ob-zelle-importer.php 51: require_once( ABSPATH . '/wp-admin/includes/image.php' );52: require_once( ABSPATH . '/wp-admin/includes/file.php' );83: require_once( ABSPATH . 'wp-admin' . DIRECTORY_SEPARATOR . 'includes' . DIR 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-themeisle-ob-import-logger.php 69: require_once( ABSPATH . 'wp-admin/includes/file.php' ); // you have to load 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-themeisle-ob-wordpress-import.php 518: require_once 'class-themeisle-ob-elementor-meta-handler.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-themeisle-ob-wp-cli.php 11: require_once 'importers/helpers/trait-themeisle-ob.php';12: require_once 'importers/class-themeisle-ob-content-importer.php';13: require_once 'importers/class-themeisle-ob-theme-mods-importer.php';14: require_once 'importers/class-themeisle-ob-widgets-importer.php';15: require_once 'importers/class-themeisle-ob-plugin-importer.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-themeisle-onboarding.php 121: require_once 'includes/class-themeisle-ob-admin.php';135: require_once 'includes/class-themeisle-ob-rest-server.php';142: require_once 'includes/importers/helpers/trait-themeisle-ob.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 : load.php 5: require_once 'class-ti-white-label.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-ti-white-label.php 121: require_once 'includes/class-ti-white-label-admin.php';139: require_once 'includes/class-ti-white-label-markup.php';192: require_once 'includes/class-ti-white-label-rest-server.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 : Translate.php 808: require_once( ABSPATH . 'wp-admin/includes/translation-install.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 : Licenser.php 897: 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 : Recommendation.php 249: include_once( ABSPATH . 'wp-admin/includes/plugin-install.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 : Rollback.php 236: require_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' );279: require_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.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