0
Validation results

Salient

Salient

WordPress 4.9.8 theme
0
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_put_contents was found in the file functions.php
    Line 1155: file_put_contents($css_dir . 'dynamic-combined.css', $css, LOCK_EX); // Sav
    file_get_contents was found in the file nectar_icon.php
    Line 73: $icon_markup .= file_get_contents(get_template_directory() .'/css/fonts/svg/'. $converted_i
    file_get_contents was found in the file shortcode-processing.php
    Line 774: $svg_icon .= file_get_contents( get_template_directory() . '/css/fonts/svg/' . $image);
    file_get_contents was found in the file parsers.php
    Line 66: $success = $dom->loadXML( file_get_contents( $file ) );
    Line 269: if ( ! xml_parse( $xml, file_get_contents( $file ), true ) ) {
    file_get_contents was found in the file parsers.php
    Line 66: $success = $dom->loadXML( file_get_contents( $file ) );
    Line 269: if ( ! xml_parse( $xml, file_get_contents( $file ), true ) ) {
    fopen was found in the file parsers.php
    Line 415: $fp = $this->fopen( $file, 'r' );
    Line 641: function fopen( $filename, $mode = 'r' ) {
    Line 644: return fopen( $filename, $mode );
    fclose was found in the file parsers.php
    Line 464: $this->fclose($fp);
    Line 659: function fclose( $fp ) {
    Line 662: return fclose( $fp );
    fopen was found in the file parsers.php
    Line 415: $fp = $this->fopen( $file, 'r' );
    Line 641: function fopen( $filename, $mode = 'r' ) {
    Line 644: return fopen( $filename, $mode );
    fopen was found in the file parsers.php
    Line 415: $fp = $this->fopen( $file, 'r' );
    Line 641: function fopen( $filename, $mode = 'r' ) {
    Line 644: return fopen( $filename, $mode );
    fclose was found in the file parsers.php
    Line 464: $this->fclose($fp);
    Line 659: function fclose( $fp ) {
    Line 662: return fclose( $fp );
    fclose was found in the file parsers.php
    Line 464: $this->fclose($fp);
    Line 659: function fclose( $fp ) {
    Line 662: return fclose( $fp );
    file_get_contents was found in the file radium-importer.php
    Line 263: $data = file_get_contents( $file );
    Line 342: $data = file_get_contents( $file );
    file_get_contents was found in the file radium-importer.php
    Line 263: $data = file_get_contents( $file );
    Line 342: $data = file_get_contents( $file );
    fopen was found in the file class.redux_helpers.php
    Line 659: //$fp = fopen( $file, 'r' );
    fread was found in the file class.redux_helpers.php
    Line 662: //$file_data = fread( $fp, 8192 );
    fclose was found in the file class.redux_helpers.php
    Line 665: //fclose( $fp );
  3. Admin menu : Themes should use add_theme_page() for adding admin pages. File functions.php :
    Line 2948: add_submenu_page(
    Line 3233: add_submenu_page(
    File functions.php :
    Line 2948: add_submenu_page(
    Line 3233: add_submenu_page(
    File class-tgm-plugin-activation.php :
    Line 641: $this->page_hook = call_user_func( 'add_submenu_page', $args['parent_slug'], $args['page_title'], $args['menu_t
    File framework.php :
    Line 1367: // wrappers and need to be appened to using add_submenu_page.
    Line 1418: $this->page = call_user_func( 'add_submenu_page', $page_parent, $page_title, $menu_title, $page_permission
    Line 1476: call_user_func( 'add_submenu_page', $this->args['page_slug'], $section['title'], $section['t
    File framework.php :
    Line 1367: // wrappers and need to be appened to using add_submenu_page.
    Line 1418: $this->page = call_user_func( 'add_submenu_page', $page_parent, $page_title, $menu_title, $page_permission
    Line 1476: call_user_func( 'add_submenu_page', $this->args['page_slug'], $section['title'], $section['t
    File framework.php :
    Line 1444: $this->page = call_user_func( 'add_menu_page', $this->args['page_title'], $this->args['menu_title'], $this
    File framework.php :
    Line 1367: // wrappers and need to be appened to using add_submenu_page.
    Line 1418: $this->page = call_user_func( 'add_submenu_page', $page_parent, $page_title, $menu_title, $page_permission
    Line 1476: call_user_func( 'add_submenu_page', $this->args['page_slug'], $section['title'], $section['t
    File welcome.php :
    Line 201: $page = 'add_management_page';
    File options-config.php :
    Line 84: // For a full list of options, visit: http://codex.wordpress.org/Function_Reference/add_submenu_page#Parameters
  4. Deprecated functions : wp_get_http wp_get_http found in file wordpress-importer.php. Deprecated since version 4.4. Use WP_Http instead.
    Line 905: $headers = wp_get_http( $url, $upload['file'] );
  5. 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 framework.php. Themes must not deregister core scripts.
    Line 571: wp_deregister_script( 'wpb_ace' );
    Found wp_deregister_script in enqueue.php. Themes must not deregister core scripts.
    Line 217: wp_deregister_script( 'jquerySelect2' );
  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 'This content is password protected. To view it please enter your password below:' in file functions.php.Found a translation function that is missing a text-domain. Function __, with the arguments 'Password:' in file functions.php.Found a translation function that is missing a text-domain. Function esc_attr__, with the arguments 'Submit' in file functions.php.Found a translation function that is missing a text-domain. Function __, with the arguments 'Previous Post' in file functions.php.Found a translation function that is missing a text-domain. Function __, with the arguments 'Next Post' in file functions.php.Found a translation function that is missing a text-domain. Function __, with the arguments "js_composer" in file nectar-addons-no-lean.php.Found a translation function that is missing a text-domain. Function __, with the arguments 'Custom Menu' in file shortcode-vc-wp-custommenu.php.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 'Save my name, email, and website in this browser for the next time I comment.' in file comments.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, framework, tgmpa, woocommerce, js_composer, wordpress-importer, redux-framework, themecheck, redux-framework-demo, nectar.
  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. Hidden admin bar : Hidden admin Bar in CSSThemes should not hide admin bar. Detected in file style.css.
  6. Custom elements : Presence of custom headerNo reference to custom header was found in the theme.
  7. Custom elements : Presence of custom backgroundNo reference to custom background was found in the theme.
  8. 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.
  9. I18N implementation : Proper use of ___all(Possible variable $text_val found in translation function in nectar-addons-no-lean.php. Translation function calls should not contain PHP variables.
    Line 161: $text_val = __($text_val, 'js_composer');
    Possible variable $text_val found in translation function in nectar-addons.php. Translation function calls should not contain PHP variables.
    Line 228: $text_val = __($text_val, 'js_composer');
  10. Date and time implementation : Use of the_time()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-link.php. Function get_option( 'date_format' ) should be used instead.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-quote.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.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-link.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-video.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-quote.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.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.
  11. 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 : tinymce-class.php
    Line 338: 
    Line 435: 
    Line 440: 
    Line 4264: 
    Line 4727: 
    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
    Line 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
    Line 50: require_once( ABSPATH . 'wp-admin/includes/plugin-install.php' );
    Line 203: require_once( ABSPATH . 'wp-admin/includes/plugin-install.php' );
    Line 204: require_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' );
    Line 205: require_once( ABSPATH . 'wp-admin/includes/class-wp-ajax-upgrader-skin.php'
    Line 206: require_once( ABSPATH . 'wp-admin/includes/class-plugin-upgrader.php' );
    Line 294: require_once( ABSPATH . 'wp-admin/includes/plugin-install.php' );
    Line 295: require_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' );
    Line 296: require_once( ABSPATH . 'wp-admin/includes/class-plugin-upgrader.php' );
    Line 390: 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 : framework.php
    Line 415: require_once 'core/dashboard.php';
    Line 419: require_once 'core/newsflash.php';
    Line 1738: require_once 'core/enqueue.php';
    Line 2979: require_once 'core/enqueue.php';
    Line 3037: require_once 'core/panel.php';
    Line 3389: 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 : extension_customizer.php
    Line 753: 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
    Line 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 : welcome.php
    Line 378: require_once 'views/about.php';
    Line 393: require_once 'views/changelog.php';
    Line 408: require_once 'views/extensions.php';
    Line 424: require_once 'views/support.php';
    Line 439: require_once 'views/credits.php';
    Line 454: 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 : options-config.php
    Line 194: require_once( $class_file );
    Line 1488: 
    Line 1497: 
    Line 1516: 
    Line 2359: 
    Line 5182: 
    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
    Line 175: 
    Line 305: 
    Line 440: 
    Line 530: 
    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
    Line 255: 
    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
    Line 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.

This is a ThemeForest theme. Since Themeforest items are all checked by a human before they appear on their website, ThemeForest verification rules are more permissive than themecheck's and can give a better verification score ( Themeforest requirements ).

33
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. Deprecated functions : wp_get_http wp_get_http found in file wordpress-importer.php. Deprecated since version 4.4. Use WP_Http instead.
    Line 905: $headers = wp_get_http( $url, $upload['file'] );
  3. 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 framework.php. Themes must not deregister core scripts.
    Line 571: wp_deregister_script( 'wpb_ace' );
    Found wp_deregister_script in enqueue.php. Themes must not deregister core scripts.
    Line 217: wp_deregister_script( 'jquerySelect2' );
  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 'This content is password protected. To view it please enter your password below:' in file functions.php.Found a translation function that is missing a text-domain. Function __, with the arguments 'Password:' in file functions.php.Found a translation function that is missing a text-domain. Function esc_attr__, with the arguments 'Submit' in file functions.php.Found a translation function that is missing a text-domain. Function __, with the arguments 'Previous Post' in file functions.php.Found a translation function that is missing a text-domain. Function __, with the arguments 'Next Post' in file functions.php.Found a translation function that is missing a text-domain. Function __, with the arguments "js_composer" in file nectar-addons-no-lean.php.Found a translation function that is missing a text-domain. Function __, with the arguments 'Custom Menu' in file shortcode-vc-wp-custommenu.php.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 'Save my name, email, and website in this browser for the next time I comment.' in file comments.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, framework, tgmpa, woocommerce, js_composer, wordpress-importer, redux-framework, themecheck, redux-framework-demo, nectar.
  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. Hidden admin bar : Hidden admin Bar in CSSThemes should not hide admin bar. Detected in file style.css.
  6. Date and time implementation : Use of the_time()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-link.php. Function get_option( 'date_format' ) should be used instead.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-quote.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.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-link.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-video.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-quote.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.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.
  7. 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 : tinymce-class.php
    Line 338: 
    Line 435: 
    Line 440: 
    Line 4264: 
    Line 4727: 
    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
    Line 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
    Line 50: require_once( ABSPATH . 'wp-admin/includes/plugin-install.php' );
    Line 203: require_once( ABSPATH . 'wp-admin/includes/plugin-install.php' );
    Line 204: require_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' );
    Line 205: require_once( ABSPATH . 'wp-admin/includes/class-wp-ajax-upgrader-skin.php'
    Line 206: require_once( ABSPATH . 'wp-admin/includes/class-plugin-upgrader.php' );
    Line 294: require_once( ABSPATH . 'wp-admin/includes/plugin-install.php' );
    Line 295: require_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' );
    Line 296: require_once( ABSPATH . 'wp-admin/includes/class-plugin-upgrader.php' );
    Line 390: 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 : framework.php
    Line 415: require_once 'core/dashboard.php';
    Line 419: require_once 'core/newsflash.php';
    Line 1738: require_once 'core/enqueue.php';
    Line 2979: require_once 'core/enqueue.php';
    Line 3037: require_once 'core/panel.php';
    Line 3389: 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 : extension_customizer.php
    Line 753: 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
    Line 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 : welcome.php
    Line 378: require_once 'views/about.php';
    Line 393: require_once 'views/changelog.php';
    Line 408: require_once 'views/extensions.php';
    Line 424: require_once 'views/support.php';
    Line 439: require_once 'views/credits.php';
    Line 454: 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 : options-config.php
    Line 194: require_once( $class_file );
    Line 1488: 
    Line 1497: 
    Line 1516: 
    Line 2359: 
    Line 5182: 
    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
    Line 175: 
    Line 305: 
    Line 440: 
    Line 530: 
    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
    Line 255: 
    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
    Line 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