Make WordPress Themes

Opened 8 months ago

Closed 6 months ago

#44156 closed theme (not-approved)

THEME: LandResume – 1.0.0

Reported by: jimolina Owned by: emiluzelac
Priority: new theme Keywords: theme-landresume accessibility-ready
Cc: israel.molina@…


LandResume - 1.0.0

This is a simple land page wordpress theme. It’s based on my personal Resume website www.josemolina.com. Please feel free to change the data, code or whatever you want in order to addapt it for yourself.

Theme URL - http://www.josemolinaresume.com/jmtemplates/landresume
Author URL - http://www.josemolinaresume.com

Trac Browser - https://themes.trac.wordpress.org/browser/landresume/1.0.0

SVN - https://themes.svn.wordpress.org/landresume/1.0.0
ZIP - https://wordpress.org/themes/download/landresume.1.0.0.zip?nostats=1


Ticket Summary Status Resolution Owner
#44156 THEME: LandResume – 1.0.0 closed not-approved emiluzelac

(this ticket)

Theme Check Results:

  • RECOMMENDED: No reference to add_theme_support( "custom-header", $args ) was found in the theme. It is recommended that the theme implement this functionality if using an image for the header.
  • RECOMMENDED: No reference to add_theme_support( "custom-background", $args ) was found in the theme. If the theme uses background images or solid colors for the background, then it is recommended that the theme implement this functionality.
  • RECOMMENDED: No reference to add_editor_style() was found in the theme. It is recommended that the theme implement editor styling, so as to make the editor content match the resulting post output in the theme, for a better user experience.
  • RECOMMENDED: No reference to the_post_thumbnail() was found in the theme. It is recommended that the theme implement this functionality instead of using custom fields for thumbnails.
  • RECOMMENDED: This theme contains no sidebars/widget areas. See Widgets API

Change History (3)

#1 @joyously
7 months ago

Here is some user feedback to consider before your review.

  • Your zip file is 3Meg (almost half of WordPress), just because your screenshot is over 2Meg! Surely you reduce the file size. It will show up faster on the themes page and save everyone's bandwidth.
  • I get this everywhere:
    NOTICE: wp-content/themes/landresume/functions.php:12 - Undefined variable: media
    NOTICE: wp-content/themes/landresume/functions.php:13 - Undefined variable: media
    NOTICE: wp-content/themes/landresume/functions.php:14 - Undefined variable: media
    NOTICE: wp-content/themes/landresume/functions.php:15 - Undefined variable: media
    NOTICE: wp-content/themes/landresume/functions.php:16 - Undefined variable: media
  • Show correct content on front page. See this article. I see the above warnings and a fallback menu that is not styled like the theme screenshot. The rest is white and empty.

Actually, I'm seeing this "nothing" for every page.

Please read the guidelines and use the theme test data as described here. Review tickets can be closed for having 5 or more required fix issues. Test with a fresh install (no theme options set, no menu, no plugins except Debug Bar).

  • From the screenshot, it looks like you need text-shadow for the text that is over an image.
  • header.php
    • <meta> does not have a </meta>. There is no such thing.
    • Do not hardcode the charset. Use bloginfo() for that.
    • There is reference to unprefixed options for the navbar-brand. All theme info should use one unique prefix. Also, themes should not store separate options. All options should be a single array (only one option field with an array of values).
  • functions.php
    • content_width should be set in the setup function (be sure to check and set the global)
    • Do not enqueue jquery separately. Put it as a dependency on the scripts that need it, so that the output order is correct. (This affects child themes.)
    • Theme scripts should have the theme prefix for the script handle. (but not 3rd party scripts)
    • There is no add_theme_support for 'menus'. Just register the menus.
    • This code will fail on a lower version of PHP: add_theme_support( 'post-formats', ['aside'] ) since WordPress supports down to 5.2, the theme needs to make sure it does not crash. That means either use the other syntax or don't let the theme activate on a lower version of PHP. The array bracket syntax is used in other places also.
    • There is untranslated text. All text must be translatable.
    • This function makes no sense: landresume_add_specific_menu_location_atts() since there is only one menu.
    • The theme is not allowed to modify the admin styles: landresume_admin_column_width()
  • Remove the landresume.Initial.Data.xml file. Be sure to test your theme without it.
  • See Proper Copyright/License Attribution for Themes to list all resources used (PHP, JS, CSS, fonts, images).
  • Remove the import in style.css
  • Remove the theme tag editor-style since it is not implemented.
  • Remove the theme tag accessibility-ready if there is a lot of text on top of images.
  • Remove the empty template-xx files. I see that they are sort of "used" in the index.php. This changes the template hierarchy, which a plugin can do but a theme cannot.
  • Remove the Theme Options page (which I didn't see until I saw code for it). All theme options must use the Customizer.

#2 @emiluzelac
6 months ago

  • Keywords changed from theme-landresume, accessibility-ready to theme-landresume accessibility-ready
  • Owner set to emiluzelac
  • Status changed from new to reviewing

#3 @emiluzelac
6 months ago

  • Resolution set to not-approved
  • Status changed from reviewing to closed

Going by above notes you have 5+ distinguished issues, therefore ticket is closing as not-approved. In addition to that here's what else I found:

1. Instead of <meta charset="utf-8"></meta> use this:


2. Anything you create in the global namespace has the potential to conflict with a theme, another plugin and WordPress core itself, therefore prefix everything and use unique names (theme-name-based is highly recommended, but any unique enough character set is acceptable).

Avoid using initials or abbreviations.

Here’s a list of the most common things that should be prefixed:

  • PHP function names
  • PHP class names
  • PHP global variables
  • Action/Filter hooks
  • Script handles
  • Style handles
  • Image size names


Additionally: To avoid double loading, don't prefix third-party scripts and styles.

3. All templates are blank:

  • template-portfolio.php
  • template-resume.php
  • template-skills.php
  • template-general-content.php

4. No inline styles:

    <style type="text/css">
        body::before {
            background: #CCC url(<?php echo wp_get_attachment_url(get_post_thumbnail_id($page->ID)); ?>) no-repeat fixed center top / cover;
            content: "";
            height: 100%;
            position: fixed;
            width: 100%;
            z-index: -1;
            -webkit-filter: opacity(0.6);
            filter: opacity(0.6);

5. Content should be translatable:

    <?php if ( 'yes' == esc_attr( get_option( 'footer_home' ) ) ): ?>
    	<p class="bubble first">
    		<a class="btn btn-sm white scrollitem" href="#contactme">
      			<i class="fa fa-envelope-o fa-2x pull-left"></i> <small>I'm available for</small><br>FREELANCE
        <?php if ( ( 'yes' == esc_attr( get_option( 'footer_download' ) ) ) && ( '' != esc_attr( get_option( 'resume_file' ) ) ) ): ?>
        	<p class="bubble second">
        		<a class="btn btn-sm white" href="<?php echo esc_attr( get_option( 'resume_file' ) ); ?>" target="_Blank">
          			<i class="fa fa-cloud-download fa-2x pull-left"></i> <small>My Resume</small><br>DOWNLOAD
        <?php endif; ?>
    <?php endif; ?>

Name the scripts and styles handle correctly. Good practice examples:

function landresume_script_enqueue() {
	wp_enqueue_style( 'bootstrap.min.css', get_template_directory_uri() . '/assets/css/vendor/bootstrap.min.css', [], '4.0.0', $media );
	wp_enqueue_style( 'animate.css', get_template_directory_uri() . '/assets/css/vendor/animate.css', [], '3.5.1', $media );
	wp_enqueue_style( 'circle.css', get_template_directory_uri() . '/assets/css/vendor/circle.css', [], '1.0', $media );
	wp_enqueue_style( 'font-awesome.min.css', get_template_directory_uri() . '/assets/css/vendor/font-awesome.min.css', [], '4.7.0', $media );
	wp_enqueue_style( 'global.css', get_template_directory_uri() . '/assets/css/global.css', [], '', $media );

	wp_enqueue_script( 'jquery' );
	wp_enqueue_script( 'tether.min.js', get_template_directory_uri() . '/assets/js/vendor/tether.min.js', [], '1.3.3', true );
	wp_enqueue_script( 'bootstrap.min.js', get_template_directory_uri() . '/assets/js/vendor/bootstrap.min.js', [], '4.0.0', true );
	wp_enqueue_script( 'global.js', get_template_directory_uri() . '/assets/js/global.js', [], '', true );

Note: See TracTickets for help on using tickets.