Starting WordPress Theme Review

  • 5,006 views
Uploaded on

There is new slide for this at http://www.slideshare.net/catchinternet/contributing-to-wordpress-theme-review-at-wordpressorg …

There is new slide for this at http://www.slideshare.net/catchinternet/contributing-to-wordpress-theme-review-at-wordpressorg

Guide to Start WordPress Theme Review. Useful for WordPress Theme Developers, wannabe WordPress Theme Developers and wannabe WordPress Theme Reviewer

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
5,006
On Slideshare
0
From Embeds
0
Number of Embeds
8

Actions

Shares
Downloads
34
Comments
0
Likes
12

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. WordPressTheme Development & Starting Beyond WordPress Theme Review
  • 2. Audience• WordPress Theme Developers• Wannabe WordPress Theme Developers• Wannabe WordPress Theme Reviewer
  • 3. Why?- Contributing to WordPress Community- Get Recognition- Build International Partners and Co-workers- Start EarningRelated:Starting WordPress Theme Developmenthttp://www.slideshare.net/catchinternet/starting-wordpress-theme-development
  • 4. I‟m Sakin Shrestha WordPress Theme Developer Founder Catch Internet Catch Themes
  • 5. How Theme Review Team Works• WordPress Theme Repositoryhttp://wordpress.org/extend/themes/• Make WordPress Theme Bloghttp://make.wordpress.org/themes/• Theme Guidehttp://developer.wordpress.com/themes/• Theme Review Mailing Listhttp://lists.wordpress.org/mailman/listinfo/theme- reviewers• Theme Trachttps://themes.trac.wordpress.org/• Internet Relay Chat- IRC http://codex.wordpress.org/IRC
  • 6. How to Join WPTRT• Sign up for account in WordPress.org• Subscribe to Theme Review Mailing List• Go to Theme Review Trac Ticket Request Queue page http://make.wordpress.org/themes/about/trac-ticket-request- queue/• Leave a comment asking to be assigned a Theme. Be sure to include your WordPress.org username with your request.• Soon after 8 to 10 reviews you will be assign Theme Reviewer, then you can just review theme as per the priority list in Theme Trac.
  • 7. Theme Trac• Current approved theme. priority #1• Ticket older then two weeks. priority #2• Previously Reviewed, but not Approved theme. priority #3• New Themes, Never Reviewed. priority #4
  • 8. Theme Review• Ticket are assigned by priority• Reviewers assign tickets to themselves.• Issues are noted in a comment.• Ticket are closed as Approved or Not-Approved.• Previously approved tickets mostly diff review only.
  • 9. Setup a WordPress test environment• Install Latest Version of WordPress• Install plugin WordPress Importerhttp://wordpress.org/extend/plugins/wordpress-importer/• Import the Theme Unit Test datahttps://wpcom- themes.svn.automattic.com/demo/theme-unit-test-data.xml• Install “Developer” pluginhttp://wordpress.org/extend/plugins/developer/• Settings: – General (Site Title, Tagline), Reading (# Posts per page) – Discussion (Threaded comments, Depth, # Comments per page) – Media (defaults), Permalinks (Pretty)• Set WP_Debug to „true‟ in wp-config – define(WP_DEBUG, true);• Check for any extraneous file – .git or .svn, MACOSX files, backup files, etc
  • 10. Minimum Plugin Installation• Theme Check• Debug Bar• Log Deprecated Notices• Debogger• Monster Widget• WordPress Beta Tester• Regenerate Thumbnails
  • 11. Before Looking at the Code• Theme Name• Author URI and Theme URI• Footer Credit Link• License• Copyright• Screenshot• Correct Spelling of WordPress• Automated Test: Theme Check and Log deprecated Notices.
  • 12. Guidelines (Unit Test) http://codex.wordpress.org/Theme_Unit_Test• Static Front Page• Blog Posts Index Page – Scheduled Post, Draft Post, Layout Test, Readability Test, Post Format Tests, This Post Has No Body, No Title, Many Categories, Many Tags, Protect Test With Secret Password,• Single Post – Layout Test, Readability Test, Image Test, Post Format All, Post With Long Title, This Post Has No Body, No Title, Many Categories, Many Tags, Protected Test With Secret Password, Comment Test, Comments Disabled, Many Trackbacks• Pages – Page With Comments, Page With Comments Disabled, Parent Page, Child Page 1, Child Page 2, Clearing Floats• Misc Pages – Search Results, Not Found, 404 page• General – Menus, Widgets, screenshot, Anchor Text and Credit Link
  • 13. Guidelines (Code Quality) http://codex.wordpress.org/Theme_Review• Themes must not generate any WordPress Deprecated function notices. Note: Themes must not support backward compatibility for more than 2 prior major WP versions.• Check PHP, JS, CSS, HTML errors• Doctype Declaration• Theme Namespacing, theme-slug, textdomain• Hard-codes vs. configurable• Incorporate core functionality and don‟t re-invent• Use core APIs where possible
  • 14. Guidelines (Presentation Vs. Functionality) http://codex.wordpress.org/Theme_Review• Language – All public-facing text in English – Optionally incorporate translation/internationalization – Themes are required to use as string as the textdomain in translation functions• Favicons – Recommended to implement custom favicon functionality – If implement, add is support for user-defined favicon images• Plugin Territory – Adding/Modifying content, Shortcodes, Metabox• Custom Post Types/ Taxonomies – Theme Lock-in, Consider companion plugin
  • 15. Guidelines (Required Theme Features) http://codex.wordpress.org/Theme_Review• Automatic Feed Links. add_theme_support( automatic-feed-links );• Sidebars register_sidebar(); dynamic_sidebar(); If Theme uses custom widgets, then add_action(widgets_init); register_widget();• Comments comments_template(); wp_list_comments(); comment_form() wp_enqueue_script( comment-reply ); If using callback for wp_list_comments(); then comment_class();
  • 16. Guidelines (Recommended Theme Features) http://codex.wordpress.org/Theme_Review• Navigation Menus wp_nav_menu(); register_nav_menu(); or register_nav_menus();• Post Thumbnails the_post_thumbnail(); the_theme_support( ‘post-thumbnails’ );• Custom Header add_theme_support(custom-header);• Custom Backgrounds add_theme_support(custom-background);• Visual Editor CSS add_editor_style() editor-style.css
  • 17. Guidelines (Required Hooks & Navigation) http://codex.wordpress.org/Theme_ReviewTags and hooks, that are required to be included where appropriate:• wp_title();• wp_head(); immediately before </head>• body_class(); inside <body> tag• wp_title();• $content_width• post_class();• wp_link_pages();• paginate_comments_links();, or previous_comments_link();/next_comments_link();• posts_nav_link();, or previous_posts_link();/next_posts_link();, or paginate_links();• wp_footer(); immediately before </body>
  • 18. Guidelines (Required Hooks & Navigation) http://codex.wordpress.org/Theme_ReviewStandard Template files: required to be called using the correct template tag.• comments.php ( via comments_template(); )• header.php ( via get_header(); )• footer.php ( via get_footer(); )• sidebar.php ( via get_sidebar(); )• searchform.php ( via get_search_form(); )Custom Template files: required to be called• get_template_part(); or locate_template();• Example: get_template_part( content, get_post_format() );• include( get_template_directory() . /file.php ) must not be used to call Theme template part files.
  • 19. Guidelines (Required Hooks & Navigation) http://codex.wordpress.org/Theme_ReviewYou also have several functions available for getting the path:• get_template_directory() File path to parent Theme directory. Returns the absolute template directory path.• get_template_directory_uri() URL path to parent Theme directory. Returns the template directory URI.• get_stylesheet_directory() File path to current Theme directory. Returns the absolute stylesheet directory path.• get_stylesheet_directory_uri() URL path to current Theme directory. Returns the stylesheet directory URI.Example: // Load up our theme options page and related code. require( get_template_directory() . /inc/theme-options.php )
  • 20. Guidelines (Required Hooks & Navigation) http://codex.wordpress.org/Theme_Review• Never hard-coding stylesheet/script links For Deregistering Scripts & Styles – wp_deregister_script() – wp_deregister_style() For Registering Scripts & Styles – wp_register_script() – wp_register_style() For EnqueueScripts & Styles – wp_enqueue_script() – wp_enqueue_style()• Themes are required to use core-bundled scripts, if using such scripts• Themes must not use TimThumb
  • 21. Guidelines (Required Hooks & Navigation) http://codex.wordpress.org/Theme_Review• If used, themes are required to modify the title, body class, post class through filter – wp_title() – body_class() – post_class();
  • 22. Guidelines (WordPress – Generated CSS Classes) http://codex.wordpress.org/Theme_Review Themes are required to support the following WordPress-defined CSS classes, or similar elements:• Alignment Classes – aligncenter, alignleft, alignright• Caption Related Classes (Gallery) – wp-caption, wp-caption-text, gallery-caption• Post Classes – sticky• Comment Classes – bypostauthor
  • 23. Guidelines (Template Files) http://codex.wordpress.org/Theme_Review• Required – index.php – comments.php – screenshot.png • Recommended 4:3 W:H ratio, size 600x450px (2x the previous 300x225px, to account for Retina displays). – style.cssNote: Child Themes may include less than this, since they depend on functionality of the parent theme.
  • 24. Guidelines (Template Files) http://codex.wordpress.org/Theme_Review• Recommended – 404.php – archieve.php – page.png – search.css – single.php – header.php – footer.php – sidebar.php• Noteheader.php, footer.php, and sidebar.php include variations such as: sidebar-left.php, sidebar-right.php, sidebar-footer.php, etc.
  • 25. Guidelines (Security & Privacy) http://codex.wordpress.org/Theme_Review• Unique Prefix• If used theme options panel, required to implement Theme Options and Theme Setting page.• Use the add_theme_page() function to add the Theme Settings Page rather than using add_menu_page() to add a top-level menu.• Required to use the edit_theme_options capability rather than rely on a role.• Use single array to save theme option.• Themes are required to use esc_attr() for text inputs , esc_html() for textareas, esc_url() for url, esc_js() for javascript.• Use validate and sanitize all untrusted data. http://codex.wordpress.org/Data_Validation
  • 26. Guidelines (Theme Documentation) http://codex.wordpress.org/Theme_Review• Themes are required to provide end-user documentation of any design limitations or extraordinary installation/setup instructions• Themes are recommended to include a readme.txt file, using Plugin readme.txt markdown.• In lieu of a readme.txt file, Themes are recommended to include a changelog, indicating version-to-version Theme changes.
  • 27. For Theme Reviewer: After All Theme Checks (Leave your Comment in Trac)• After all theme checks• You just leave a comment as Suggested for Approved or Suggest for Not-Approved• Then leave the comment of Each Test Issues if any• Suggest the way to fix the issues• After enough checks ideally 10 an above, you will be assigned as Reviewer. You can also ask admin team to make you reviewer.• After you are assign as Reviewer, you can assign and close ticket independently.
  • 28. For Theme Developer: After All Theme Checks (Upload your Theme To WordPress.org)• After all these Test• zip your theme• Upload your theme to WordPress.org Theme Repository at http://wordpress.org/extend/themes/upload• Wait for your theme to get approved and listed in WordPress.org Theme Repository at http://wordpress.org/extend/themes/
  • 29. Questions? Thanks Sakin ShresthaBlog: http://sakinshrestha.comEmail: sakin@catchinternet.com Twitter: @sakinshrestha