11
Validation results

Genesis

Genesis

WordPress 4.9.6 theme
11
Critical alerts
  1. Customizer : Sanitization of Customizer settings Found a Customizer setting that did not have a sanitization callback function in file customizer.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.The <title> tags can only contain a call to wp_title(). Use the wp_title filter to modify the output.
  3. Malware : Operations on file system file_get_contents was found in the file import-export.php
    Line 262: $upload = file_get_contents( $_FILES['genesis-import-upload']['tmp_name'] );
  4. Admin menu : Themes should use add_theme_page() for adding admin pages. File admin.php :
    Line 201: $this->pagehook = add_menu_page( $menu['page_title'], $menu['menu_title'], $menu['capability'
    File admin.php :
    Line 232: $this->pagehook = add_submenu_page( $this->page_id, $menu['page_title'], $menu['menu_title'],
    Line 256: $this->pagehook = add_submenu_page( $menu['parent_slug'], $menu['page_title'], $menu['menu_ti
    File admin.php :
    Line 232: $this->pagehook = add_submenu_page( $this->page_id, $menu['page_title'], $menu['menu_title'],
    Line 256: $this->pagehook = add_submenu_page( $menu['parent_slug'], $menu['page_title'], $menu['menu_ti
Warning
  1. Plugin territory : Plugin territory functionalitiesThe theme uses the add_shortcode() function. Custom post-content shortcodes are plugin-territory functionality.
  2. Custom elements : Presence of custom backgroundNo reference to custom background was found in the theme.
  3. 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.
  4. Featured image : Use of the_post_thumbnail() instead of custom fields for thumbnailsNo reference to the_post_thumbnail was found in the theme.
  5. CSS files : Presence of text domainText Domain: is missing from your style.css header.
  6. CSS files : Presence of .sticky class.sticky css class is needed in theme css.
  7. CSS files : Presence of .bypostauthor class.bypostauthor css class is needed in theme css.
  8. CSS files : Presence of .gallery-caption class.gallery-caption css class is needed in theme css.
  9. Screenshot : Screenshot fileScreenshot size is 880x660px. 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. theme tags : Presence of bad theme tagsThemes that use the tag accessibility-ready will need to undergo an accessibility review.
    See https://make.wordpress.org/themes/handbook/review/accessibility/
  3. Static links : Presence of hard-coded linksPossible hard-coded links were found in the file admin.php.
    Line 403: '<p><a href='http://my.studiopress.com/help/' target='_blank'>' . esc_html__( 'Get Suppo
    Line 404: '<p><a href='http://my.studiopress.com/snippets/' target='_blank'>' . esc_html__( 'Genes
    Line 405: '<p><a href='http://my.studiopress.com/tutorials/' target='_blank'>' . esc_html__( 'Gene
    Possible hard-coded links were found in the file footer.php.
    Line 186: $output = $atts['before'] . ' <a href='http://www.studiopress.com/'>StudioPress</a>' . $atts['after'];
    Possible hard-coded links were found in the file genesis-cpt-archives-seo-settings.php.
    Line 49: <a href='http://yoast.com/articles/robots-meta-tags/' target='_blank'>[?]</a></label
    Line 56: <a href='http://yoast.com/articles/robots-meta-tags/' target='_blank'>[?]</a></label
    Line 63: <a href='http://yoast.com/articles/robots-meta-tags/' target='_blank'>[?]</a></label
    Line 49: <a href='http://yoast.com/articles/robots-meta-tags/' target='_blank'>[?]</a></label
    Line 56: <a href='http://yoast.com/articles/robots-meta-tags/' target='_blank'>[?]</a></label
    Line 63: <a href='http://yoast.com/articles/robots-meta-tags/' target='_blank'>[?]</a></label
    Line 49: <a href='http://yoast.com/articles/robots-meta-tags/' target='_blank'>[?]</a></label
    Line 56: <a href='http://yoast.com/articles/robots-meta-tags/' target='_blank'>[?]</a></label
    Line 63: <a href='http://yoast.com/articles/robots-meta-tags/' target='_blank'>[?]</a></label
    Possible hard-coded links were found in the file genesis-theme-settings-version.php.
    Line 30: printf( esc_html__( 'This can be helpful for diagnosing problems with your theme when seeking assistance at the %shelp page%s.', 'genesis' ), '<a href='http://my.studiopress.com/support/' target='_blank'>', '</a>' );
    Possible hard-coded links were found in the file genesis-inpost-seo.php.
    Line 31: printf( esc_html__( ' &mdash; Output in the document <link rel='canonical' />. %s', 'genesis' ), '<a href='http://www.mattcutts.com/blog/canonical-link-tag/' target='_blank'>' . esc_
    Line 45: printf( esc_html__( ' &mdash; Output in the document <meta name='robots' />. %s', 'genesis' ), '<a href='http://yoast.com/articles/robots-meta-tags/' target='_blank'>' . esc_html__
    Line 52: printf( esc_html__( ' &mdash; Output in the document <meta name='robots' />. %s', 'genesis' ), '<a href='http://yoast.com/articles/robots-meta-tags/' target='_blank'>' . esc_html__
    Line 59: printf( esc_html__( ' &mdash; Output in the document <meta name='robots' />. %s.', 'genesis' ), '<a href='http://yoast.com/articles/robots-meta-tags/' target='_blank'>' . esc_html__
    Line 45: printf( esc_html__( ' &mdash; Output in the document <meta name='robots' />. %s', 'genesis' ), '<a href='http://yoast.com/articles/robots-meta-tags/' target='_blank'>' . esc_html__
    Line 52: printf( esc_html__( ' &mdash; Output in the document <meta name='robots' />. %s', 'genesis' ), '<a href='http://yoast.com/articles/robots-meta-tags/' target='_blank'>' . esc_html__
    Line 59: printf( esc_html__( ' &mdash; Output in the document <meta name='robots' />. %s.', 'genesis' ), '<a href='http://yoast.com/articles/robots-meta-tags/' target='_blank'>' . esc_html__
    Line 45: printf( esc_html__( ' &mdash; Output in the document <meta name='robots' />. %s', 'genesis' ), '<a href='http://yoast.com/articles/robots-meta-tags/' target='_blank'>' . esc_html__
    Line 52: printf( esc_html__( ' &mdash; Output in the document <meta name='robots' />. %s', 'genesis' ), '<a href='http://yoast.com/articles/robots-meta-tags/' target='_blank'>' . esc_html__
    Line 59: printf( esc_html__( ' &mdash; Output in the document <meta name='robots' />. %s.', 'genesis' ), '<a href='http://yoast.com/articles/robots-meta-tags/' target='_blank'>' . esc_html__
    Possible hard-coded links were found in the file genesis-blog.php.
    Line 28: printf( esc_html__( 'You can find more on this feature in the %sHow to Add a Post Category Page tutorial.%s', 'genesis' ), '<a href='http://www.studiopress.com/tutorials/genesis/add-post-category-page' target
    Possible hard-coded links were found in the file deprecated.php.
    Line 421: $text = preg_replace( '/@(\w+)/', '<a href='http://www.twitter.com/\\1' target='_blank'>@\\1</a>', $text );
    Line 422: $text = preg_replace( '/#(\w+)/', '<a href='http://search.twitter.com/search?q=\\1' target='_blank'>#\\1</a>', $text );
  4. Optional files : Presence of rtl stylesheet rtl.cssThis theme does not contain optional file rtl.php.
  5. Optional files : Presence of front page template file front-page.phpThis theme does not contain optional file front-page.php.
  6. Optional files : Presence of home template file home.phpThis theme does not contain optional file home.php.
  7. Optional files : Presence of category template file category.phpThis theme does not contain optional file category.php.
  8. Optional files : Presence of tag template file tag.phpThis theme does not contain optional file tag.php.
  9. Optional files : Presence of term template file taxonomy.phpThis theme does not contain optional file taxonomy.php.
  10. Optional files : Presence of author template file author.phpThis theme does not contain optional file author.php.
  11. Optional files : Presence of date/time template file date.phpThis theme does not contain optional file date.php.
  12. Optional files : Presence of attachment template file attachment.phpThis theme does not contain optional file attachment.php.
  13. Use of includes : Use of include or requireThe theme appears to use include or require : init.php
    Line 250: require_once( $lib_dir . 'framework.php' );
    Line 254: require_once( $classes_dir . 'admin.php' );
    Line 256: require_once( $classes_dir . 'sanitization.php' );
    Line 257: require_once( $classes_dir . 'class-genesis-contributor.php' );
    Line 258: require_once( $classes_dir . 'class-genesis-contributors.php' );
    Line 262: require_once( $functions_dir . 'upgrade.php' );
    Line 263: require_once( $functions_dir . 'compat.php' );
    Line 264: require_once( $functions_dir . 'general.php' );
    Line 265: require_once( $functions_dir . 'options.php' );
    Line 266: require_once( $functions_dir . 'image.php' );
    Line 267: require_once( $functions_dir . 'markup.php' );
    Line 269: require_once( $functions_dir . 'menu.php' );
    Line 270: require_once( $functions_dir . 'layout.php' );
    Line 271: require_once( $functions_dir . 'formatting.php' );
    Line 272: require_once( $functions_dir . 'seo.php' );
    Line 273: require_once( $functions_dir . 'widgetize.php' );
    Line 274: require_once( $functions_dir . 'feed.php' );
    Line 275: require_once( $functions_dir . 'toolbar.php' );
    Line 276: require_once( $functions_dir . 'head.php' );
    Line 279: require_once( $functions_dir . 'deprecated.php' );
    Line 284: require_once( $shortcodes_dir . 'post.php' );
    Line 285: require_once( $shortcodes_dir . 'footer.php' );
    Line 289: require_once( $structure_dir . 'header.php' );
    Line 290: require_once( $structure_dir . 'footer.php' );
    Line 291: require_once( $structure_dir . 'menu.php' );
    Line 292: require_once( $structure_dir . 'layout.php' );
    Line 293: require_once( $structure_dir . 'post.php' );
    Line 294: require_once( $structure_dir . 'loops.php' );
    Line 295: require_once( $structure_dir . 'comments.php' );
    Line 296: require_once( $structure_dir . 'sidebar.php' );
    Line 297: require_once( $structure_dir . 'archive.php' );
    Line 298: require_once( $structure_dir . 'search.php' );
    Line 303: require_once( $admin_dir . 'menu.php' );
    Line 304: require_once( $admin_dir . 'theme-settings.php' );
    Line 305: require_once( $admin_dir . 'seo-settings.php' );
    Line 306: require_once( $admin_dir . 'cpt-archive-settings.php' );
    Line 307: require_once( $admin_dir . 'admin-functions.php' );
    Line 308: require_once( $admin_dir . 'import-export.php' );
    Line 309: require_once( $admin_dir . 'inpost-metaboxes.php' );
    Line 310: require_once( $admin_dir . 'use-child-theme.php' );
    Line 311: require_once( $admin_dir . 'whats-new.php' );
    Line 313: require_once( $admin_dir . 'customizer.php' );
    Line 314: require_once( $admin_dir . 'term-meta.php' );
    Line 315: require_once( $admin_dir . 'user-meta.php' );
    Line 318: require_once( $lib_dir . '/js/load-scripts.php' );
    Line 321: require_once( $lib_dir . '/css/load-styles.php' );
    Line 325: require_once( $widgets_dir . 'widgets.php' );
    Line 326: require_once( $widgets_dir . 'user-profile-widget.php' );
    Line 327: require_once( $widgets_dir . 'featured-post-widget.php' );
    Line 328: require_once( $widgets_dir . 'featured-page-widget.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-scripts.php
    Line 27: require_once( PARENT_DIR . '/lib/classes/class-genesis-script-loader.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 : admin.php
    Line 388: include( $view );
    Line 563: include( GENESIS_VIEWS_DIR . '/pages/genesis-admin-form.php' );
    Line 623: include( GENESIS_VIEWS_DIR . '/pages/genesis-admin-boxes.php' );
    Line 640: include( GENESIS_VIEWS_DIR . '/misc/genesis-admin-boxes-holder.php' );
    Line 671: include( $view );
    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 : import-export.php
    Line 82: include( GENESIS_VIEWS_DIR . '/pages/genesis-admin-import-export.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 : use-child-theme.php
    Line 33: include( GENESIS_VIEWS_DIR . '/misc/use-child-theme-notice.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 : whats-new.php
    Line 54: require_once( $this->views_base . '/pages/genesis-admin-upgraded.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 : admin-functions.php
    Line 24: require_once( PARENT_DIR . '/lib/classes/class-genesis-admin-meta-boxes.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 : markup.php
    Line 195: require_once( PARENT_DIR . '/lib/structure/xhtml.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