0
Validation results

Terra

Terra

WordPress 4.9.6 theme
0
Critical alerts
  1. Customizer : Sanitization of Customizer settings Found a Customizer setting that did not have a sanitization callback function in file customizer_theme-options.php. Every call to the add_setting() method needs to have a sanitization callback function passed.
  2. Title : Title No reference to add_theme_support( "title-tag" ) was found in the theme.The theme needs to have <title> tags, ideally in the header.php file.The theme needs to have a call to wp_title(), ideally in the header.php file.The <title> tags can only contain a call to wp_title(). Use the wp_title filter to modify the output.
  3. Security breaches : Use of base64_decode() Found base64_decode in file ot-settings-api.php.
    Line 584: $settings = isset( $_POST[$setting['id'] . '_settings_array'] ) ? unserialize( base64_decode( $_POST[$setting['id'] . '_settings_array'] ) ) : array();
    Found base64_decode in file ot-functions-compat.php.
    Line 76: $options = unserialize( base64_decode( $rawdata ) );
    Line 112: $layouts = unserialize( base64_decode( $rawdata ) );
    Line 128: $options = unserialize( base64_decode( $value ) );
    Line 151: update_option( 'option_tree', unserialize( base64_decode( $layouts[$layouts['active_layout']] ) ) );
    Found base64_decode in file ot-meta-box-api.php.
    Line 193: $settings = isset( $_POST[$field['id'] . '_settings_array'] ) ? unserialize( base64_decode( $_POST[$field['id'] . '_settings_array'] ) ) : array();
    Found base64_decode in file ot-functions-admin.php.
    Line 569: $textarea = isset( $_POST['import_settings'] ) ? unserialize( base64_decode( $_POST['import_settings'] ) ) : '';
    Line 593: $options = isset( $_POST['import_data'] ) ? unserialize( base64_decode( $_POST['import_data'] ) ) : '';
    Line 638: $layouts = isset( $_POST['import_layouts'] ) ? unserialize( base64_decode( $_POST['import_layouts'] ) ) : '';
    Line 654: $options = unserialize( base64_decode( $value ) );
    Line 677: update_option( 'option_tree', unserialize( base64_decode( $layouts[$layouts['active_layout']] ) ) );
    Line 1392: $rebuild_option_tree = unserialize( base64_decode( $rebuild[$rebuild['active_layout']] ) );
    Found base64_decode in file ot-loader.php.
    Line 378: ot_list_item_view( $_REQUEST['name'], $_REQUEST['count'], array(), $_REQUEST['post_id'], $_REQUEST['get_option'], unserialize( base64_decode( $_REQUEST['settings'] ) ), $_REQUEST['type'] );
  4. Security breaches : Use of base64_encode() Found base64_encode in file ot-settings-api.php.
     $layouts[$layouts['active_layout']] = base64_encode( serialize( $option_tree ) );
    Found base64_encode in file ot-functions-settings-page.php.
     $settings = ! empty( $settings ) ?  base64_encode( serialize( $settings ) ) : '';
     $data = ! empty( $data ) ? base64_encode( serialize( $data ) ) : '';
     $layouts = ! empty( $layouts ) ? base64_encode( serialize( $layouts ) ) : '';
    Found base64_encode in file ot-functions-compat.php.
     $layouts[$key] = base64_encode( serialize( $options ) );
    Found base64_encode in file ot-functions-option-types.php.
     echo '<input type='hidden' name='' . esc_attr( $field_id ) . '_settings_array' id='' . esc_attr( $field_id ) . '_settings_array' value='' . base64_encode( serialize( $field_settings ) ) . '' />';
     echo '<input type='hidden' name='' . esc_attr( $field_id ) . '_settings_array' id='' . esc_attr( $field_id ) . '_settings_array' value='' . base64_encode( serialize( $field_settings ) ) . '' />';
    Found base64_encode in file ot-functions-admin.php.
     $layouts[$key] = base64_encode( serialize( $options ) );
     $rebuild[$rebuild['active_layout']] = base64_encode( serialize( get_option( 'option_tree' ) ) );
  5. Presence of iframes : iframes are sometimes used to load unwanted adverts and malicious code on another site Found <iframe title="YouTube video player" width="' . $atts['width'] . '" height="' . $atts['height'] . '" src="http://www.youtube.com/embed/' . $atts['id'] . (strpos($atts['id'],'?') ? '&wmode=opaque' : '?wmode=opaque'). '" frameborder="0" allowfullscreen> in file shortcodes.php.
    Line 708: return '<div class='video-shortcode video_max_scale'><iframe title='YouTube video player' width='' . $atts['width'] . '' height=
    Found <iframe src="https://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=<?php echo urlencode(ot_get_option('gmaps_address')); ?> in file contact.php.
    Line 76: <iframe src='https://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;
  6. Malware : Operations on file system file_get_contents was found in the file ot-functions-compat.php
    Line 60: if ( $has_xml == true && ! get_option( 'option_tree_settings' ) && class_exists( 'SimpleXMLElement' ) && function_exists( 'file_get_contents' ) ) {
    Line 73: if ( $has_data == true && ! get_option( 'option_tree' ) && function_exists( 'file_get_contents' ) ) {
    Line 75: $rawdata = @file_get_contents( $data_file );
    Line 109: if ( $has_layout == true && ! get_option( 'option_tree_layouts' ) && function_exists( 'file_get_contents' ) ) {
    Line 111: $rawdata = @file_get_contents( $layout_file );
    file_get_contents was found in the file ot-functions-compat.php
    Line 60: if ( $has_xml == true && ! get_option( 'option_tree_settings' ) && class_exists( 'SimpleXMLElement' ) && function_exists( 'file_get_contents' ) ) {
    Line 73: if ( $has_data == true && ! get_option( 'option_tree' ) && function_exists( 'file_get_contents' ) ) {
    Line 75: $rawdata = @file_get_contents( $data_file );
    Line 109: if ( $has_layout == true && ! get_option( 'option_tree_layouts' ) && function_exists( 'file_get_contents' ) ) {
    Line 111: $rawdata = @file_get_contents( $layout_file );
    file_get_contents was found in the file ot-functions-admin.php
    Line 532: if ( preg_match( '/(.xml)$/i', $file ) && class_exists( 'SimpleXMLElement' ) && function_exists( 'file_get_contents' ) ) {
    Line 736: if ( $rawdata = @file_get_contents( $file ) ) {
    fopen was found in the file ot-functions-admin.php
    Line 2414: if ( ! $f = @fopen( $filepath, 'w' ) )
    Line 2501: if ( ! $f = @fopen( $filepath, 'w' ) )
    fwrite was found in the file ot-functions-admin.php
    Line 2433: fwrite( $f, '{$markerline}\n' );
    Line 2435: fwrite( $f, '{$markerline}' );
    Line 2440: fwrite( $f, '/* BEGIN {$marker} */\n' );
    Line 2441: fwrite( $f, '{$insertion}\n' );
    Line 2442: fwrite( $f, '/* END {$marker} */\n' );
    Line 2453: fwrite( $f, '/* BEGIN {$marker} */\n' );
    Line 2454: fwrite( $f, '{$insertion}\n' );
    Line 2455: fwrite( $f, '/* END {$marker} */\n' );
    Line 2519: fwrite( $f, '{$markerline}\n' );
    Line 2521: fwrite( $f, '{$markerline}' );
    Line 2526: fwrite( $f, '' );
    fwrite was found in the file ot-functions-admin.php
    Line 2433: fwrite( $f, '{$markerline}\n' );
    Line 2435: fwrite( $f, '{$markerline}' );
    Line 2440: fwrite( $f, '/* BEGIN {$marker} */\n' );
    Line 2441: fwrite( $f, '{$insertion}\n' );
    Line 2442: fwrite( $f, '/* END {$marker} */\n' );
    Line 2453: fwrite( $f, '/* BEGIN {$marker} */\n' );
    Line 2454: fwrite( $f, '{$insertion}\n' );
    Line 2455: fwrite( $f, '/* END {$marker} */\n' );
    Line 2519: fwrite( $f, '{$markerline}\n' );
    Line 2521: fwrite( $f, '{$markerline}' );
    Line 2526: fwrite( $f, '' );
    fwrite was found in the file ot-functions-admin.php
    Line 2433: fwrite( $f, '{$markerline}\n' );
    Line 2435: fwrite( $f, '{$markerline}' );
    Line 2440: fwrite( $f, '/* BEGIN {$marker} */\n' );
    Line 2441: fwrite( $f, '{$insertion}\n' );
    Line 2442: fwrite( $f, '/* END {$marker} */\n' );
    Line 2453: fwrite( $f, '/* BEGIN {$marker} */\n' );
    Line 2454: fwrite( $f, '{$insertion}\n' );
    Line 2455: fwrite( $f, '/* END {$marker} */\n' );
    Line 2519: fwrite( $f, '{$markerline}\n' );
    Line 2521: fwrite( $f, '{$markerline}' );
    Line 2526: fwrite( $f, '' );
    fwrite was found in the file ot-functions-admin.php
    Line 2433: fwrite( $f, '{$markerline}\n' );
    Line 2435: fwrite( $f, '{$markerline}' );
    Line 2440: fwrite( $f, '/* BEGIN {$marker} */\n' );
    Line 2441: fwrite( $f, '{$insertion}\n' );
    Line 2442: fwrite( $f, '/* END {$marker} */\n' );
    Line 2453: fwrite( $f, '/* BEGIN {$marker} */\n' );
    Line 2454: fwrite( $f, '{$insertion}\n' );
    Line 2455: fwrite( $f, '/* END {$marker} */\n' );
    Line 2519: fwrite( $f, '{$markerline}\n' );
    Line 2521: fwrite( $f, '{$markerline}' );
    Line 2526: fwrite( $f, '' );
    fwrite was found in the file ot-functions-admin.php
    Line 2433: fwrite( $f, '{$markerline}\n' );
    Line 2435: fwrite( $f, '{$markerline}' );
    Line 2440: fwrite( $f, '/* BEGIN {$marker} */\n' );
    Line 2441: fwrite( $f, '{$insertion}\n' );
    Line 2442: fwrite( $f, '/* END {$marker} */\n' );
    Line 2453: fwrite( $f, '/* BEGIN {$marker} */\n' );
    Line 2454: fwrite( $f, '{$insertion}\n' );
    Line 2455: fwrite( $f, '/* END {$marker} */\n' );
    Line 2519: fwrite( $f, '{$markerline}\n' );
    Line 2521: fwrite( $f, '{$markerline}' );
    Line 2526: fwrite( $f, '' );
    fwrite was found in the file ot-functions-admin.php
    Line 2433: fwrite( $f, '{$markerline}\n' );
    Line 2435: fwrite( $f, '{$markerline}' );
    Line 2440: fwrite( $f, '/* BEGIN {$marker} */\n' );
    Line 2441: fwrite( $f, '{$insertion}\n' );
    Line 2442: fwrite( $f, '/* END {$marker} */\n' );
    Line 2453: fwrite( $f, '/* BEGIN {$marker} */\n' );
    Line 2454: fwrite( $f, '{$insertion}\n' );
    Line 2455: fwrite( $f, '/* END {$marker} */\n' );
    Line 2519: fwrite( $f, '{$markerline}\n' );
    Line 2521: fwrite( $f, '{$markerline}' );
    Line 2526: fwrite( $f, '' );
    fwrite was found in the file ot-functions-admin.php
    Line 2433: fwrite( $f, '{$markerline}\n' );
    Line 2435: fwrite( $f, '{$markerline}' );
    Line 2440: fwrite( $f, '/* BEGIN {$marker} */\n' );
    Line 2441: fwrite( $f, '{$insertion}\n' );
    Line 2442: fwrite( $f, '/* END {$marker} */\n' );
    Line 2453: fwrite( $f, '/* BEGIN {$marker} */\n' );
    Line 2454: fwrite( $f, '{$insertion}\n' );
    Line 2455: fwrite( $f, '/* END {$marker} */\n' );
    Line 2519: fwrite( $f, '{$markerline}\n' );
    Line 2521: fwrite( $f, '{$markerline}' );
    Line 2526: fwrite( $f, '' );
    fwrite was found in the file ot-functions-admin.php
    Line 2433: fwrite( $f, '{$markerline}\n' );
    Line 2435: fwrite( $f, '{$markerline}' );
    Line 2440: fwrite( $f, '/* BEGIN {$marker} */\n' );
    Line 2441: fwrite( $f, '{$insertion}\n' );
    Line 2442: fwrite( $f, '/* END {$marker} */\n' );
    Line 2453: fwrite( $f, '/* BEGIN {$marker} */\n' );
    Line 2454: fwrite( $f, '{$insertion}\n' );
    Line 2455: fwrite( $f, '/* END {$marker} */\n' );
    Line 2519: fwrite( $f, '{$markerline}\n' );
    Line 2521: fwrite( $f, '{$markerline}' );
    Line 2526: fwrite( $f, '' );
    fclose was found in the file ot-functions-admin.php
    Line 2459: fclose( $f );
    Line 2535: fclose( $f );
    fopen was found in the file ot-functions-admin.php
    Line 2414: if ( ! $f = @fopen( $filepath, 'w' ) )
    Line 2501: if ( ! $f = @fopen( $filepath, 'w' ) )
    fwrite was found in the file ot-functions-admin.php
    Line 2433: fwrite( $f, '{$markerline}\n' );
    Line 2435: fwrite( $f, '{$markerline}' );
    Line 2440: fwrite( $f, '/* BEGIN {$marker} */\n' );
    Line 2441: fwrite( $f, '{$insertion}\n' );
    Line 2442: fwrite( $f, '/* END {$marker} */\n' );
    Line 2453: fwrite( $f, '/* BEGIN {$marker} */\n' );
    Line 2454: fwrite( $f, '{$insertion}\n' );
    Line 2455: fwrite( $f, '/* END {$marker} */\n' );
    Line 2519: fwrite( $f, '{$markerline}\n' );
    Line 2521: fwrite( $f, '{$markerline}' );
    Line 2526: fwrite( $f, '' );
    fwrite was found in the file ot-functions-admin.php
    Line 2433: fwrite( $f, '{$markerline}\n' );
    Line 2435: fwrite( $f, '{$markerline}' );
    Line 2440: fwrite( $f, '/* BEGIN {$marker} */\n' );
    Line 2441: fwrite( $f, '{$insertion}\n' );
    Line 2442: fwrite( $f, '/* END {$marker} */\n' );
    Line 2453: fwrite( $f, '/* BEGIN {$marker} */\n' );
    Line 2454: fwrite( $f, '{$insertion}\n' );
    Line 2455: fwrite( $f, '/* END {$marker} */\n' );
    Line 2519: fwrite( $f, '{$markerline}\n' );
    Line 2521: fwrite( $f, '{$markerline}' );
    Line 2526: fwrite( $f, '' );
    fwrite was found in the file ot-functions-admin.php
    Line 2433: fwrite( $f, '{$markerline}\n' );
    Line 2435: fwrite( $f, '{$markerline}' );
    Line 2440: fwrite( $f, '/* BEGIN {$marker} */\n' );
    Line 2441: fwrite( $f, '{$insertion}\n' );
    Line 2442: fwrite( $f, '/* END {$marker} */\n' );
    Line 2453: fwrite( $f, '/* BEGIN {$marker} */\n' );
    Line 2454: fwrite( $f, '{$insertion}\n' );
    Line 2455: fwrite( $f, '/* END {$marker} */\n' );
    Line 2519: fwrite( $f, '{$markerline}\n' );
    Line 2521: fwrite( $f, '{$markerline}' );
    Line 2526: fwrite( $f, '' );
    fclose was found in the file ot-functions-admin.php
    Line 2459: fclose( $f );
    Line 2535: fclose( $f );
  7. Admin menu : Themes should use add_theme_page() for adding admin pages. File ot-settings-api.php :
    Line 88: $page_hook = add_menu_page( 
    File ot-settings-api.php :
    Line 99: $page_hook = add_submenu_page( 
  8. Deprecated functions : screen_icon screen_icon found in file ot-settings-api.php. Deprecated since version 3.8.
    Line 242: screen_icon( ( isset( $page['screen_icon'] ) ? $page['screen_icon'] : 'opti
  9. Post pagination : Implementation The theme doesn't have post pagination code in it. Use posts_nav_link() or paginate_links() or the_posts_pagination() or the_posts_navigation() or next_posts_link() and previous_posts_link() to add post pagination.
Warning
  1. theme tags : Presence of bad theme tagsFound wrong tag in style.css header.
  2. Text domain : Incorrect use of translation functions.Wrong installation directory for the theme name. The directory name must match the slug of the theme. This theme's correct slug and text-domain is terra.
  3. Text domain : Incorrect use of translation functions.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 Terra, option-tree.
  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. Unwanted files : Windows thumbnail storethumbs.db was found.
  6. Fundamental theme elements : Presence of comment_form()Could not find comment_form.
  7. Comment reply : Declaration of comment replyCould not find the comment-reply script enqueued, however a reference to 'comment-reply' was found. Make sure that the comment-reply js script is being enqueued properly on singular pages.
  8. Custom elements : Presence of custom headerNo reference to custom header was found in the theme.
  9. Deprecated functions : screen_iconscreen_icon found in file ot-settings-api.php. Deprecated since version 3.8.
    Line 242: screen_icon( ( isset( $page['screen_icon'] ) ? $page['screen_icon'] : 'opti
  10. 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.
  11. CSS files : Presence of text domainText Domain: is missing from your style.css header.
  12. CSS files : Presence of .screen-reader-text class.screen-reader-text css class is needed in your theme css. See : the Codex for an example implementation.
  13. Screenshot : Screenshot fileScreenshot size is 300x225px. 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. favicon presence : Favicon managementPossible Favicon found in header.php. Favicons are handled by the Site Icon setting in the customizer since version 4.3.
  2. Static links : Presence of hard-coded linksPossible hard-coded links were found in the file theme-options.php.
    Line 1114: 'std'         => '<a href='http://themeforest.net/user/blueowlcreative/portfolio?ref=blueowlcreative' 
  3. Optional files : Presence of rtl stylesheet rtl.cssThis theme does not contain optional file rtl.php.
  4. Optional files : Presence of front page template file front-page.phpThis theme does not contain optional file front-page.php.
  5. Optional files : Presence of home template file home.phpThis theme does not contain optional file home.php.
  6. Optional files : Presence of category template file category.phpThis theme does not contain optional file category.php.
  7. Optional files : Presence of tag template file tag.phpThis theme does not contain optional file tag.php.
  8. Optional files : Presence of term template file taxonomy.phpThis theme does not contain optional file taxonomy.php.
  9. Optional files : Presence of author template file author.phpThis theme does not contain optional file author.php.
  10. Optional files : Presence of date/time template file date.phpThis theme does not contain optional file date.php.
  11. Optional files : Presence of archive template file archive.phpThis theme does not contain optional file archive.php.
  12. Optional files : Presence of attachment template file attachment.phpThis theme does not contain optional file attachment.php.
  13. Optional files : Presence of image template file image.phpThis theme does not contain optional file image.php.
  14. Use of includes : Use of include or requireThe theme appears to use include or require : ot-functions-docs-page.php
    Line 692: include_once( \'includes/meta-boxes.php\' );
    Line 788: include_once( \'option-tree/ot-loader.php\' );
    Line 803: include_once( \'includes/theme-options.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 : ot-loader.php
    Line 183: require_once( OT_DIR . 'includes/{$file}.php' );
    Line 208: require_once( OT_DIR . '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.

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 ).

9
Critical alerts
  1. Customizer : Sanitization of Customizer settings Found a Customizer setting that did not have a sanitization callback function in file customizer_theme-options.php. Every call to the add_setting() method needs to have a sanitization callback function passed.
  2. Title : Title No reference to add_theme_support( "title-tag" ) was found in the theme.The theme needs to have <title> tags, ideally in the header.php file.The theme needs to have a call to wp_title(), ideally in the header.php file.The <title> tags can only contain a call to wp_title(). Use the wp_title filter to modify the output.
  3. Deprecated functions : screen_icon screen_icon found in file ot-settings-api.php. Deprecated since version 3.8.
    Line 242: screen_icon( ( isset( $page['screen_icon'] ) ? $page['screen_icon'] : 'opti
  4. Post pagination : Implementation The theme doesn't have post pagination code in it. Use posts_nav_link() or paginate_links() or the_posts_pagination() or the_posts_navigation() or next_posts_link() and previous_posts_link() to add post pagination.
Warning
  1. theme tags : Presence of bad theme tagsFound wrong tag in style.css header.
  2. Text domain : Incorrect use of translation functions.Wrong installation directory for the theme name. The directory name must match the slug of the theme. This theme's correct slug and text-domain is terra.
  3. Text domain : Incorrect use of translation functions.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 Terra, option-tree.
  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. Unwanted files : Windows thumbnail storethumbs.db was found.
  6. Fundamental theme elements : Presence of comment_form()Could not find comment_form.
  7. Comment reply : Declaration of comment replyCould not find the comment-reply script enqueued, however a reference to 'comment-reply' was found. Make sure that the comment-reply js script is being enqueued properly on singular pages.
  8. Deprecated functions : screen_iconscreen_icon found in file ot-settings-api.php. Deprecated since version 3.8.
    Line 242: screen_icon( ( isset( $page['screen_icon'] ) ? $page['screen_icon'] : 'opti
  9. CSS files : Presence of text domainText Domain: is missing from your style.css header.
  10. CSS files : Presence of .screen-reader-text class.screen-reader-text css class is needed in your theme css. See : the Codex for an example implementation.
  11. Screenshot : Screenshot fileScreenshot size is 300x225px. 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. favicon presence : Favicon managementPossible Favicon found in header.php. Favicons are handled by the Site Icon setting in the customizer since version 4.3.
  2. Static links : Presence of hard-coded linksPossible hard-coded links were found in the file theme-options.php.
    Line 1114: 'std'         => '<a href='http://themeforest.net/user/blueowlcreative/portfolio?ref=blueowlcreative' 
  3. Optional files : Presence of rtl stylesheet rtl.cssThis theme does not contain optional file rtl.php.
  4. Optional files : Presence of front page template file front-page.phpThis theme does not contain optional file front-page.php.
  5. Optional files : Presence of home template file home.phpThis theme does not contain optional file home.php.
  6. Optional files : Presence of category template file category.phpThis theme does not contain optional file category.php.
  7. Optional files : Presence of tag template file tag.phpThis theme does not contain optional file tag.php.
  8. Optional files : Presence of term template file taxonomy.phpThis theme does not contain optional file taxonomy.php.
  9. Optional files : Presence of author template file author.phpThis theme does not contain optional file author.php.
  10. Optional files : Presence of date/time template file date.phpThis theme does not contain optional file date.php.
  11. Optional files : Presence of archive template file archive.phpThis theme does not contain optional file archive.php.
  12. Optional files : Presence of attachment template file attachment.phpThis theme does not contain optional file attachment.php.
  13. Optional files : Presence of image template file image.phpThis theme does not contain optional file image.php.
  14. Use of includes : Use of include or requireThe theme appears to use include or require : ot-functions-docs-page.php
    Line 692: include_once( \'includes/meta-boxes.php\' );
    Line 788: include_once( \'option-tree/ot-loader.php\' );
    Line 803: include_once( \'includes/theme-options.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 : ot-loader.php
    Line 183: require_once( OT_DIR . 'includes/{$file}.php' );
    Line 208: require_once( OT_DIR . '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.
Other checked themes