56
Validation results

Hestia Pro

Hestia Pro

WordPress 6.7.1 theme
56
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. Admin menu : Themes should use add_theme_page() for adding admin pages. File class-ti-white-label-admin.php : 50: add_submenu_page(
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 add_shortcode() function. Custom post-content shortcodes are plugin-territory functionality.
  3. 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.
  4. Screenshot : Screenshot fileScreenshot dimensions are wrong! Detected: 500x450px (10:9). Ratio of width to height should be 4:3.Screenshot size is 500x450px. Screenshot size should be 1200x900, to account for HiDPI displays. Any 4:3 image size is acceptable, but 1200x900 is preferred.
Tip-off
  1. Static links : Presence of hard-coded linksPossible hard-coded links were found in the file class-themeisle-ob-admin.php.210: 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.240: return sprintf( $content, get_bloginfo( 'version', 'display' ), '<a href='themes.php'>' . $data['theme_name'] . '</a>' );Possible 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-repeater.php.682: sprintf( '<a href='http://fontawesome.io/icons/' rel='nofollow'>%s</a>', esc_html__( 'http://f760: sprintf( '<a href='http://fontawesome.io/icons/' rel='nofollow'>%s</a>', esc_html__( 'http://f682: sprintf( '<a href='http://fontawesome.io/icons/' rel='nofollow'>%s</a>', esc_html__( 'http://f760: 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>
  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. Optional files : Presence of 404 Not Found template file 404.phpThis theme does not contain optional file 404.php.
  11. Use of includes : Use of include or requireThe 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 216: 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-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-image-src-handl 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 517: 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-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-content-importer.php 75: require_once( ABSPATH . 'wp-admin/includes/file.php' );76: require_once( ABSPATH . 'wp-admin/includes/image.php' );77: require_once( ABSPATH . 'wp-admin/includes/media.php' );81: require_once( ABSPATH . '/wp-admin/includes/file.php' );152: require_once( ABSPATH . '/wp-admin/includes/file.php' );255: 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' );176: require_once 'helpers/class-themeisle-ob-quiet-skin.php';265: include_once( ABSPATH . 'wp-admin/includes/plugin.php' );288: 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-rest-server.php 307: require_once( ABSPATH . '/wp-admin/includes/file.php' );383: require_once( ABSPATH . '/wp-admin/includes/file.php' );463: require_once 'importers/class-themeisle-ob-plugin-importer.php';486: require_once 'importers/class-themeisle-ob-content-importer.php';509: require_once 'importers/class-themeisle-ob-theme-mods-importer.php';532: require_once 'importers/class-themeisle-ob-widgets-importer.php';575: 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-wp-cli.php 11: require_once 'importers/helpers/trait-themeisle-ob-image-src-handler.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 : Endpoint.php 206: require_once( ABSPATH . 'wp-admin/includes/file.php' );254: 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 : 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 : Rollback.php 233: require_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' );273: 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.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 : 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';191: 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 : 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-hestia-import-zerif.php 166: 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-main-notice-section.php 70: 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 : 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-hestia-public.php 653: 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 : 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.
Other checked themes