16
Validation results

Hestia Pro

Hestia Pro

WordPress 6.7.1 theme
16
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. Malware : Operations on file system file_get_contents was found in the file parsers.php 87: $success = $dom->loadXML( file_get_contents( $file ) );332: if ( ! xml_parse( $xml, file_get_contents( $file ), true ) ) {file_get_contents was found in the file parsers.php 87: $success = $dom->loadXML( file_get_contents( $file ) );332: if ( ! xml_parse( $xml, file_get_contents( $file ), true ) ) {fopen was found in the file parsers.php 518: $fp = $this->fopen( $file, 'r' );755: public function fopen( $filename, $mode = 'r' ) {760: return fopen( $filename, $mode );fclose was found in the file parsers.php 561: $this->fclose( $fp );779: public function fclose( $fp ) {784: return fclose( $fp );fopen was found in the file parsers.php 518: $fp = $this->fopen( $file, 'r' );755: public function fopen( $filename, $mode = 'r' ) {760: return fopen( $filename, $mode );fopen was found in the file parsers.php 518: $fp = $this->fopen( $file, 'r' );755: public function fopen( $filename, $mode = 'r' ) {760: return fopen( $filename, $mode );fclose was found in the file parsers.php 561: $this->fclose( $fp );779: public function fclose( $fp ) {784: return fclose( $fp );fclose was found in the file parsers.php 561: $this->fclose( $fp );779: public function fclose( $fp ) {784: return fclose( $fp );file_put_contents was found in the file class-themeisle-ob-import-logger.php 178: file_put_contents( $this->log_file_path . $this->log_file_name, $this->get_
  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. Deprecated functions : get_option get_option( 'home' ) was found in the file class-themeisle-ob-import-logger.php. Use home_url() instead.89: $this->log_info( 'Home URL', get_option( 'home' ) );
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-ti-about-render.php.82: <a href='https://themeisle.com/' class='wp-badge epsilon-welcome-logo'></a>Possible hard-coded links were found in the file class-themeisle-ob-admin.php.203: 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.65: 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-addon.php.79: '<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.685: sprintf( '<a href='http://fontawesome.io/icons/' rel='nofollow'>%s</a>', esc_html__( 'http://f763: sprintf( '<a href='http://fontawesome.io/icons/' rel='nofollow'>%s</a>', esc_html__( 'http://f685: sprintf( '<a href='http://fontawesome.io/icons/' rel='nofollow'>%s</a>', esc_html__( 'http://f763: sprintf( '<a href='http://fontawesome.io/icons/' rel='nofollow'>%s</a>', esc_html__( 'http://f
  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 205: 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-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 513: 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-content-importer.php 74: require_once( ABSPATH . 'wp-admin/includes/file.php' );75: require_once( ABSPATH . 'wp-admin/includes/image.php' );76: require_once( ABSPATH . 'wp-admin/includes/media.php' );80: require_once( ABSPATH . '/wp-admin/includes/file.php' );157: require_once( ABSPATH . '/wp-admin/includes/file.php' );259: 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 114: require_once( ABSPATH . 'wp-admin/includes/plugin-install.php' );115: require_once( ABSPATH . 'wp-admin/includes/file.php' );116: require_once( ABSPATH . 'wp-admin/includes/misc.php' );117: require_once( ABSPATH . 'wp-admin/includes/plugin.php' );118: require_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' );141: require_once 'helpers/class-themeisle-ob-quiet-skin.php';238: include_once( ABSPATH . 'wp-admin/includes/plugin.php' );261: 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 54: require_once( ABSPATH . '/wp-admin/includes/image.php' );55: require_once( ABSPATH . '/wp-admin/includes/file.php' );86: 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 311: require_once( ABSPATH . '/wp-admin/includes/file.php' );448: require_once 'importers/class-themeisle-ob-plugin-importer.php';471: require_once 'importers/class-themeisle-ob-content-importer.php';494: require_once 'importers/class-themeisle-ob-theme-mods-importer.php';517: require_once 'importers/class-themeisle-ob-widgets-importer.php';560: 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 : 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 119: require_once 'includes/class-ti-white-label-admin.php';137: require_once 'includes/class-ti-white-label-markup.php';189: 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 68: 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 655: 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