56
Validation results

Hestia Pro

Hestia Pro

WordPress 6.6.2 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.
    Ligne98: eval( '?>$value<?php ' );
  2. Admin menu : Themes should use add_theme_page() for adding admin pages. File class-ti-white-label-admin.php :
    Ligne50: 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.
    Ligne210: 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.
    Ligne240: 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.
    Ligne65: sprintf( '<a href='http://fontawesome.io/icons/' rel='nofollow'>%s</a>', esc_html__( 'http://f
    Possible hard-coded links were found in the file class-hestia-repeater.php.
    Ligne686: sprintf( '<a href='http://fontawesome.io/icons/' rel='nofollow'>%s</a>', esc_html__( 'http://f
    Ligne764: sprintf( '<a href='http://fontawesome.io/icons/' rel='nofollow'>%s</a>', esc_html__( 'http://f
    Ligne686: sprintf( '<a href='http://fontawesome.io/icons/' rel='nofollow'>%s</a>', esc_html__( 'http://f
    Ligne764: sprintf( '<a href='http://fontawesome.io/icons/' rel='nofollow'>%s</a>', esc_html__( 'http://f
    Possible hard-coded links were found in the file class-hestia-footer-controls.php.
    Ligne49: '<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
    Ligne80: require_once 'includes' . DIRECTORY_SEPARATOR . 'admin' . DIRECTORY_SEPARAT
    Ligne181: 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
    Ligne13: require_once 'class-ti-about-page.php';
    Ligne17: 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
    Ligne216: 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
    Ligne36: 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
    Ligne121: require_once 'includes/class-themeisle-ob-admin.php';
    Ligne135: require_once 'includes/class-themeisle-ob-rest-server.php';
    Ligne142: 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
    Ligne513: 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
    Ligne69: 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
    Ligne74: require_once( ABSPATH . 'wp-admin/includes/file.php' );
    Ligne75: require_once( ABSPATH . 'wp-admin/includes/image.php' );
    Ligne76: require_once( ABSPATH . 'wp-admin/includes/media.php' );
    Ligne80: require_once( ABSPATH . '/wp-admin/includes/file.php' );
    Ligne158: require_once( ABSPATH . '/wp-admin/includes/file.php' );
    Ligne264: 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
    Ligne134: require_once( ABSPATH . 'wp-admin/includes/plugin-install.php' );
    Ligne135: require_once( ABSPATH . 'wp-admin/includes/file.php' );
    Ligne136: require_once( ABSPATH . 'wp-admin/includes/misc.php' );
    Ligne137: require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
    Ligne138: require_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' );
    Ligne161: require_once 'helpers/class-themeisle-ob-quiet-skin.php';
    Ligne258: include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
    Ligne281: 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
    Ligne51: require_once( ABSPATH . '/wp-admin/includes/image.php' );
    Ligne52: require_once( ABSPATH . '/wp-admin/includes/file.php' );
    Ligne83: 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
    Ligne340: require_once( ABSPATH . '/wp-admin/includes/file.php' );
    Ligne490: require_once 'importers/class-themeisle-ob-plugin-importer.php';
    Ligne513: require_once 'importers/class-themeisle-ob-content-importer.php';
    Ligne536: require_once 'importers/class-themeisle-ob-theme-mods-importer.php';
    Ligne559: require_once 'importers/class-themeisle-ob-widgets-importer.php';
    Ligne602: 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
    Ligne11: require_once 'importers/helpers/trait-themeisle-ob-image-src-handler.php';
    Ligne12: require_once 'importers/class-themeisle-ob-content-importer.php';
    Ligne13: require_once 'importers/class-themeisle-ob-theme-mods-importer.php';
    Ligne14: require_once 'importers/class-themeisle-ob-widgets-importer.php';
    Ligne15: 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
    Ligne206: require_once( ABSPATH . 'wp-admin/includes/file.php' );
    Ligne254: 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
    Ligne808: 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
    Ligne233: require_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' );
    Ligne273: 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
    Ligne249: 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
    Ligne121: require_once 'includes/class-ti-white-label-admin.php';
    Ligne139: require_once 'includes/class-ti-white-label-markup.php';
    Ligne191: 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
    Ligne5: 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
    Ligne166: 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
    Ligne206: 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
    Ligne70: 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
    Ligne68: 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
    Ligne653: 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
    Ligne118: 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
    Ligne44: 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