Make WordPress Themes

Opened 14 years ago

Closed 14 years ago

#6856 closed theme (not-approved)

THEME: Programmatic - 0.14.1

Reported by: unbounddarkness's profile UnboundDarkness Owned by: garinungkadol's profile garinungkadol
Priority: Keywords: theme-programmatic
Cc: UnboundDarkness@…

Attachments (3)

clearing-floats.jpg (46.5 KB) - added by garinungkadol 14 years ago.
lists-comments.jpg (34.6 KB) - added by garinungkadol 14 years ago.
menu-many-items.jpg (12.3 KB) - added by garinungkadol 14 years ago.

Download all attachments as: .zip

Change History (5)

#1 @garinungkadol
14 years ago

  • Owner set to garinungkadol
  • Status changed from new to assigned

#2 @garinungkadol
14 years ago

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

THEME REVIEW RESULTS

Thank you for your submission. The issues listed below must be corrected before you re-submit your theme. Another reviewer may find further issues, so please do all you can to ensure your theme meets the Theme Review Guidelines. The following tools will be of use to you in this process:

Make sure to use define('WP_DEBUG', true); in wp-config.php when testing your theme.

If you have any questions specific to this review, you may ask them here. For general theme review enquiries, you can monitor the Theme Review mailing list

RECOMMENDATION: NOT-APPROVED

ISSUES FROM PREVIOUS REVIEW

  • NOT-FIXED: The credit link is still a problem. It is showing http://themeshaper.com/programmatic/. Take a look at library\extensions\shortcodes.php, thmfooter_theme_link()
  • PARTIALLY-FIXED: There are still some custom functions and global variables that are not prefixed with the theme-slug. See functions.php, library\extensions\shortcodes.php, library\extensions\theme-options.php, library\extensions\widgets.php, library\extensions\deprecated.php.
    • REQUIRED: Be consistent in your use of prefix. The library\extensons\shortcode.php is using thmfooter_ instead of programmatic_
    • REQUIRED: Constants should be declared in all caps. see:
      programmatic_COMPATIBLE_FEEDLINKS
      programmatic_COMPATIBLE_COMMENT_HANDLING
      programmatic_COMPATIBLE_BODY_CLASS
      programmatic_COMPATIBLE_POST_CLASS
      programmatic_COMPATIBLE_COMMENT_FORM
      


THEME INFORMATION

  • REQUIRED: The "Description" in the theme header info should be in English. You may provide a Spanish translation as well. Be sure to describe the features of your theme.

THEME UNIT TESTS

Index / Archive View

  • REQUIRED: Posts with no post title must still display a link to the single-page Post view.

Single Post View

  • REQUIRED: Floated elements should be properly cleared. See clearing-floats.jpg
  • REQUIRED: Check the styling of ordered and unordered lists when used in comments. See lists-comments.jpg
  • RECOMMENDED: Check styling of the <ins> tag

VISUAL ISSUES / BROWSER CHECKS / FUNCTIONALITY

  • REQUIRED: You should not be including the Programmatic logo by default. You must provide users with the capability to upload their own image in the theme settings.
  • REQUIRED: Themes are recommended not to include SEO functionality as this is better provided by a plugin. However, if you do have SEO features, they must be user opt-in, i.e., provide an option for the user to turn on this capability. I notice in the HTML that your theme includes the meta tag for robots: <meta name="robots" content="noindex,follow" />.

CODE QUALITY

Theme Settings and Data Security

  • REQUIRED: Theme options must be saved as a single array.
  • REQUIRED: Make sure that input data is sanitized and validated before saving to the database.
  • REQUIRED Use the various esc_() functions when displaying data in forms. See library\extensions\theme-options.php, library\extensions\widgets.php
  • REQUIRED: You must make use of checked()/selected() when outputting checked="checked" and `selected="selected" respectively.

Support for Older WordPress Versions

  • REQUIRED: Themes need only support 2 versions lower than the current WordPress version. The following code is not needed:
    • Display comment form for versions lower than 3.0 (Lines 67 - 135, comments.php)
    • Custom support for automatic-feed-links in functions.php and header.php
    • Using the function_exists() function e.g. if ( function_exists( 'add_theme_support' ) ).
    • Calling comment form template for pages
    • Using programmatic_post_class() to add support for post_class() in template files.
    • Using programmatic_body_class() to add support for body_class().
  • REQUIRED: Themes need only support 2 versions lower than the current WordPress version. The code for displaying the comment form for versions lower than WordPress 3.0.0 is not necessary ( Line 67 - 135 )

Using Correct Hooks and Functions

  • REQUIRED: Scripts should be enqueued in a function that that hooks into wp_enqueue_scripts.
  • REQUIRED: All add_theme_support() function calls must be placed in a function that hooks into after_setup_theme.
  • REQUIRED: Loading of the textdomain code must be done in a function that hooks into after_setup_theme.
  • REQUIRED: Use the conditional tag post_password_required() for checking if a post is password protected in comments.php
  • REQUIRED: Instead of using $_GET['s'] use get_search_query().
  • REQUIRED: When using the function add_theme_page(), the correct capability to use is edit_theme_options.
  • REQUIRED: get_bloginfo(wpurl) was found in the file content-extensions.php. Use site_url() instead.
  • REQUIRED: get_bloginfo(url) was found in the file widgets-extensions.php. Use home_url() instead.
  • REQUIRED: get_bloginfo(template_directory) was found in the file header-extensions.php. Use get_template_directory_uri() instead.
  • REQUIRED: bloginfo(url) was found in the file search.php. Use echo home_url() instead.
  • REQUIRED: bloginfo(url) was found in the file header-extensions.php. Use echo home_url() instead.
  • REQUIRED: bloginfo(url) was found in the file content-extensions.php. Use echo home_url() instead.
  • REQUIRED: bloginfo(stylesheet_directory) was found in the file header-extensions.php. Use get_stylesheet_directory_uri() instead.
  • REQUIRED: bloginfo( url ) was found in the file author.php. Use echo home_url() instead.
  • REQUIRED: TEMPLATEPATH was found in the file functions.php. Use get_template_directory() instead.
    Line 12: $themeData = get_theme_data(TEMPLATEPATH . '/style.css');
    Line 66: define('PROGRAMMATICLIB', TEMPLATEPATH . '/library');
    

Theme Localization
Since your theme supports translation you must make sure that:

  • REQUIRED: All text belongs in a suitable translation function
  • REQUIRED: Mark Jaquith's link on translation
  • REQUIRED: A textdomain has been included with each translated text. See: widgets.php
    Line 36: $widget_ops = array('classname' => 'widget_search', 'description' => __( 'A search form for your blog') );
    Line 58: <p><label for='<?php echo $this->get_field_id('title'); ?>'><?php _e('Title:'); ?> <input class='widefat' id='<?php echo $this->get_field_id(
    Line 113: <p><label for='<?php echo $this->get_field_id('title'); ?>'><?php _e('Title:'); ?></label> <input class='widefat' id='<?php echo $this->get_f
    Line 156: <p><label for='<?php echo $this->get_field_id('title'); ?>'><?php _e('Title:'); ?></label> <input class='widefat' id='<?php echo $this->get_f
    Line 174: <p><label for='rsslinks-title'><?php _e('Title:'); ?> <input style='width: 250px;' id='rsslinks-title' name='rss
    


-- single.php

Line 21: <li><span class='texto'><?php echo __('Author'); ?>:</span> <?php echo programmatic_postmeta_authorlink(); ?><
Line 22: <li><span class='texto'><?php echo __('Published'); ?>:</span> <?php echo programmatic_postmeta_entrydate(); ?
Line 23: <li><span class='texto'><?php echo __('Category'); ?>:</span> <?php echo programmatic_postfooter_postcategory(
Line 24: <li><span class='texto'><?php echo __('Tags'); ?>:</span> <?php echo programmatic_postfooter_posttags(); ?></l


-- helpers.php

Line 31: $output = __('There is no excerpt because this is a protected post.');
Line 44: $output = __('There is no excerpt because this is a protected post.');


-- discussion-extensions.php

Line 21: __( 'Edit comment' ),

Others

  • REQUIRED: Remove all references to themeshaper. See library\extensions\theme-options.php
  • REQUIRED: Lines 5 - 6 in comments.php are no longer needed.


Note: See TracTickets for help on using tickets.