10
Validation results

Salient

Salient

WordPress 6.6.2 theme
10
This theme seems to be proprietary. Themecheck doesn't distribute commercial themes.
Critical alerts
  1. Customizer : Sanitization of Customizer settings Found a Customizer setting that did not have a sanitization callback function in file extension_customizer.php. Every call to the add_setting() method needs to have a sanitization callback function passed.
  2. Malware : Operations on file system file_get_contents was found in the file nectar_icon.php 73: //$icon_markup .= file_get_contents(get_template_directory() .'/css/fonts/svg/'. $converted_ifile_put_contents was found in the file dynamic-styles.php 671: //file_put_contents($css_dir . 'dynamic-combined.css', $css, LOCK_EX); // Savfile_get_contents was found in the file parsers.php 66: $success = $dom->loadXML( file_get_contents( $file ) );269: if ( ! xml_parse( $xml, file_get_contents( $file ), true ) ) {file_get_contents was found in the file parsers.php 66: $success = $dom->loadXML( file_get_contents( $file ) );269: if ( ! xml_parse( $xml, file_get_contents( $file ), true ) ) {fopen was found in the file parsers.php 415: $fp = $this->fopen( $file, 'r' );641: function fopen( $filename, $mode = 'r' ) {644: return fopen( $filename, $mode );fclose was found in the file parsers.php 464: $this->fclose($fp);659: function fclose( $fp ) {662: return fclose( $fp );fopen was found in the file parsers.php 415: $fp = $this->fopen( $file, 'r' );641: function fopen( $filename, $mode = 'r' ) {644: return fopen( $filename, $mode );fopen was found in the file parsers.php 415: $fp = $this->fopen( $file, 'r' );641: function fopen( $filename, $mode = 'r' ) {644: return fopen( $filename, $mode );fclose was found in the file parsers.php 464: $this->fclose($fp);659: function fclose( $fp ) {662: return fclose( $fp );fclose was found in the file parsers.php 464: $this->fclose($fp);659: function fclose( $fp ) {662: return fclose( $fp );file_get_contents was found in the file radium-importer.php 263: $data = file_get_contents( $file );342: $data = file_get_contents( $file );file_get_contents was found in the file radium-importer.php 263: $data = file_get_contents( $file );342: $data = file_get_contents( $file );fopen was found in the file class.redux_helpers.php 659: //$fp = fopen( $file, 'r' );fread was found in the file class.redux_helpers.php 662: //$file_data = fread( $fp, 8192 );fclose was found in the file class.redux_helpers.php 665: //fclose( $fp );file_get_contents was found in the file shortcode-processing.php 774: //$svg_icon .= file_get_contents( get_template_directory() . '/css/fonts/svg/' . $image);
  3. Admin menu : Themes should use add_theme_page() for adding admin pages. File home-slider.php : 113: add_submenu_page(File nectar-slider.php : 153: add_submenu_page(File class-tgm-plugin-activation.php : 641: $this->page_hook = call_user_func( 'add_submenu_page', $args['parent_slug'], $args['page_title'], $args['menu_tFile welcome.php : 201: $page = 'add_management_page';File framework.php : 1370: // wrappers and need to be appened to using add_submenu_page.1421: $this->page = call_user_func( 'add_submenu_page', $page_parent, $page_title, $menu_title, $page_permission1479: call_user_func( 'add_submenu_page', $this->args['page_slug'], $section['title'], $section['tFile framework.php : 1370: // wrappers and need to be appened to using add_submenu_page.1421: $this->page = call_user_func( 'add_submenu_page', $page_parent, $page_title, $menu_title, $page_permission1479: call_user_func( 'add_submenu_page', $this->args['page_slug'], $section['title'], $section['tFile framework.php : 1447: $this->page = call_user_func( 'add_menu_page', $this->args['page_title'], $this->args['menu_title'], $thisFile framework.php : 1370: // wrappers and need to be appened to using add_submenu_page.1421: $this->page = call_user_func( 'add_submenu_page', $page_parent, $page_title, $menu_title, $page_permission1479: call_user_func( 'add_submenu_page', $this->args['page_slug'], $section['title'], $section['tFile options-config.php : 84: // For a full list of options, visit: http://codex.wordpress.org/Function_Reference/add_submenu_page#Parameters
  4. Included plugins : Zip file found Plugins are not allowed in themes. The zip file found was js_composer_salient.zip.
Warning
  1. core scripts deregistered : Core scripts deregistrationFound wp_deregister_script in enqueue.php. Themes must not deregister core scripts. 215: wp_deregister_script( 'jquerySelect2' );Found wp_deregister_script in framework.php. Themes must not deregister core scripts. 574: wp_deregister_script( 'wpb_ace' );
  2. theme tags : Presence of bad theme tagsFound wrong tag in style.css header.
  3. Text domain : Incorrect use of translation functions.Found a translation function that is missing a text-domain. Function __, with the arguments "js_composer" in file nectar-addons.php.Found a translation function that is missing a text-domain. Function __, with the arguments "js_composer" in file nectar-addons-no-lean.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 salient, woocommerce, default, js_composer, tgmpa, wordpress-importer, redux-framework, themecheck, redux-framework-demo.
  4. 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.
  5. Custom elements : Presence of custom headerNo reference to custom header was found in the theme.
  6. Custom elements : Presence of custom backgroundNo reference to custom background was found in the theme.
  7. 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.
  8. I18N implementation : Proper use of ___all(Possible variable $text_val found in translation function in nectar-addons.php. Translation function calls should not contain PHP variables. Possible variable $text_val found in translation function in nectar-addons-no-lean.php. Translation function calls should not contain PHP variables.
  9. Date and time implementation : Use of the_time()At least one hard coded date was found in the file entry-video.php. Function get_option( 'date_format' ) should be used instead.At least one hard coded date was found in the file entry-image.php. Function get_option( 'date_format' ) should be used instead.At least one hard coded date was found in the file entry-link.php. Function get_option( 'date_format' ) should be used instead.At least one hard coded date was found in the file entry-audio.php. Function get_option( 'date_format' ) should be used instead.At least one hard coded date was found in the file entry-gallery.php. Function get_option( 'date_format' ) should be used instead.At least one hard coded date was found in the file entry-quote.php. Function get_option( 'date_format' ) should be used instead.At least one hard coded date was found in the file entry-status.php. Function get_option( 'date_format' ) should be used instead.At least one hard coded date was found in the file entry-aside.php. Function get_option( 'date_format' ) should be used instead.At least one hard coded date was found in the file entry.php. Function get_option( 'date_format' ) should be used instead.
  10. Screenshot : Screenshot fileScreenshot size is 600x450px. 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. Optional files : Presence of rtl stylesheet rtl.cssThis theme does not contain optional file rtl.php.
  2. Optional files : Presence of front page template file front-page.phpThis theme does not contain optional file front-page.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 archive template file archive.phpThis theme does not contain optional file archive.php.
  10. Optional files : Presence of attachment template file attachment.phpThis theme does not contain optional file attachment.php.
  11. Optional files : Presence of image template file image.phpThis theme does not contain optional file image.php.
  12. Use of includes : Use of include or requireThe theme appears to use include or require : dynamic-styles.php 665: 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 : extension_wbc_importer.php 68: include_once('wbc_importer/connekt-plugin-installer/class-connekt-plugin-in 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-connekt-plugin-installer.php 50: require_once( ABSPATH . 'wp-admin/includes/plugin-install.php' );248: require_once( ABSPATH . 'wp-admin/includes/plugin-install.php' );249: require_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' );250: require_once( ABSPATH . 'wp-admin/includes/class-wp-ajax-upgrader-skin.php'251: require_once( ABSPATH . 'wp-admin/includes/class-plugin-upgrader.php' );339: require_once( ABSPATH . 'wp-admin/includes/plugin-install.php' );340: require_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' );341: require_once( ABSPATH . 'wp-admin/includes/class-plugin-upgrader.php' );435: require_once( ABSPATH . '/wp-admin/includes/plugin.php' ); // Load plugin l 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 : welcome.php 380: require_once 'views/about.php';395: require_once 'views/changelog.php';410: require_once 'views/extensions.php';426: require_once 'views/support.php';441: require_once 'views/credits.php';456: require_once 'views/status_report.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 : extension_customizer.php 750: require_once( $class_file ); 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.redux_api.php 534: include_once( $api_check ); 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 : framework.php 418: require_once 'core/dashboard.php';422: require_once 'core/newsflash.php';1741: require_once 'core/enqueue.php';2982: require_once 'core/enqueue.php';3040: require_once 'core/panel.php';3392: require_once 'core/panel.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 : options-config.php 194: require_once( $class_file );1516: 1525: 1544: 2387: 5303: 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 : tinymce-class.php 330: 427: 432: 4256: 4719: 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 : page-meta.php 261: 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 : portfolio-meta.php 175: 305: 440: 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 : post-meta.php 265: 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