1. Development & Coding
Header
- Check for proper DOCTYPE
- Is there a
wp_head()
call? <html>
tag should includelanguage_attributes()
- Is there a feed autodiscovery
link?
- Are you fetching the title and description using
bloginfo()
?
Footer
- Is there a
wp_footer()
call?
Error Handling
- Do you have a 404 page?
- Is your search page helpful? (Navigate to http://yoursite.com?s=TestSearchOut to test)
Syntax & File Handling
→ svn
- If you're using svn, are your files set eol-style:native?
find . -name \*.php -exec svn propset svn:eol-style native {} \; find . -name \*.css -exec svn propset svn:eol-style native {} \;
→ JavaScript
- Is JavaScript CDATA encoded?
<script type="text/javascript"> /* <![CDATA[ */ // content of your Javascript goes here /* ]]> */ </script>
- Are you using
wp_enqueue_script
?
2. Formatting, Function, and Logic
- Are posts in the right order (front page and archive pages)?
- Are the correct number of posts showing (as set in reading settings)?
- Are sticky posts styled and functioning correctly?
- Does the theme have pages tabs in the header? If so, do they overflow or have problems with child pages?
Navigation
- Do front, archive, and single pages paginate correctly? Do they show the correct number of posts?
- Posts, pages, and index should include
wp_link_pages
Widgets
- Is the theme widgetized as fully as possible?
- Does the theme require custom widgets?
- Do the current widgets look correct?
- Are standard widgets setup? Should they be?
- Do any standard widgets need to be overridden?
Pages
- Are comments enabled for pages?
Posts
- Does the page function correctly when logged in as an administrator compared to a normal user? (Example: do "Edit post" links work).
- Are the date and time format options are respected (unless it's important to the design)?
- Stylings: Tables
- Stylings: Captions
- Stylings: Unordered lists
- Stylings: Ordered lists
- Stylings: Blockquotes a) Make sure quotes are indented and display correctly.
- Stylings: Blockquotes b) If the theme uses a background image or quote symbol, make sure it looks ok on both short and long quotes.
Multiple Page Posts
- Are Page links displayed and formatted appropriately?
- Do Page links work?
The <!--more -->
tag
- Does the part of the post before the more tag display on archive / front pages?
- Does the full post appear on the permalink page?
Enclosures
- Do links for enclosures work properly?
Video
- Do embeded videos look correct?
- Make sure they don't overlap or push the sidebars down (YouTube videos can be resized with a filter in functions.php, see Fjords theme for an example)
Images
- Check a post with a picture floated right, left, is there enough space around it? Refer to Using Images: Styling Images in WordPress
- Check a post with a picture that is far too big for the content column, does it break the layout? (Perhaps use
overflow: hidden;
) - Is
$content_width
set? - Does the gallery shortcode display properly?
Gravatars
- Are gravatar calls working properly?
Categories
- Does Category links work?
- Are Categories displayed OK on front page and permalink page?
- Are nested Categories handled elegantly?
Tags
- Does Tag links work?
- Are Tags displayed OK on front page and permalink page?
- Are Tags and Tag links shown in each post?
Comments
- Are comments displayed correctly?
- Are blockquotes and any applicable HTML styled appropriately?
- Are author comments highlighted differently?
- Are user avatars displayed correctly?
→ No comments
- Are no comments shown?
- Is the comment display form replaced with a "Comments Off" message or similar?
→ Disabled Comments
- Are previous comments still visible?
- Is the comment display form replaced with a "Comments Off" message or similar?
→ Trackbacks
- Are all trackbacks shown correctly without overlap?
→ Comment Form
- Does comment input form look OK when logged out?
- Does comment input form look OK when logged in?
- Do comments have Edit links when logged in as blog administrator?
- Is comment HTML displayed correctly, especially unordered lists and blockquotes?
3. Theme Unit Tests
Download and import the test data here: WordPress.org Dummy Content. The following tests are to be done on Posts with similar titles.
Posts
→ Future Post
- This post should not show anywhere. It's in the future.
→ Layout Test
- Is the Post showing a "read more" link?
- Is the layout correct on every part of the post?
→ Simple Gallery Test
- Does the gallery look correct?
- Does it look good on front, archive, and single pages?
→ Category Name Clash
- The post should be in category Foo Parent / Foo A - not in Foo A (no parent).
→ Test with Enclosures
- Do the links work?
→ Block quotes
- Are the quotes indented and displayed correctly?
- If the theme uses a background image or quote symbol, does it look OK on both short and long quotes?
- Likewise for the short and long quotes in comments
→ Many Categories
- Do Category links work?
- Are Categories displayed OK on front page and permalink page?
→ Many Tags
- Do Tag links work?
- Are Tags displayed OK on front page and permalink page?
→ Tags A and C / Tags B and C / Tags A and B / Tag C / Tag B / Tag A / Tags A, B, C
- Are Tags and tag links shown in each post?
- Do tag pages work and display the correct posts regardless of privacy settings?
→ Raw HTML code
- Is all markup displayed appropiately?
- Are H1 to H6 consistent?
- Do tables and lists look ok?
→ Simple markup test
- Is all markup displayed appropiately?
- Does text alignment work?
- Does image alignment work?
- Block elements should remain blocks, not display:inline (and vice versa)
- Blockquotes should be indented or otherwise distinct from paragraph text.
- Are nested lists indented correctly?
→ Embedded Video
- Does embedded video work?
- Make sure they don't overlap or push the sidebars down (YouTube videos can be resized with a filter in functions.php, see Fjords theme for an example)
→ Contributor post, approved
- Is the correct author name displayed?
→ Embedded Video
- Does embedded video work?
- Make sure they don't overlap or push the sidebars down (YouTube videos can be resized with a filter in functions.php, see Fjords theme for an example)
→ One comment
- Is comment displayed correctly?
- Does comment input form look OK when logged out?
- Does comment input form look OK when logged in?
- Do comments have Edit links when logged in as blog administrator?
- Is comment HTML displayed correctly, especially unordered lists and blockquotes?
→ No comments
- Are no comments shown?
- Is the comment display form replaced with a "Comments Off" message or similar?
→ Many Trackbacks
- Are all trackbacks shown correctly without overlap?
→ One Trackback
- Is trackback shown correctly without overlapping anything else?
→ Comment test
- Are comments displayed correctly?
- Is author comment highlighted differently?
- Are user avatars displayed correctly?
→ A post with multiple pages
- Are page links displayed and formatted appropriately?
- Do Page links work?
- Does each page looks OK?
→ An article with a More tag
- Is "more" link shown on non-permalink pages?
- Is full post shown on permalink page?
→ Cat C / Cat B / Cat A / Cats A and C / Cats B and C / Cats A and B / Cats A, B, C
- Are Categories and category links shown in each post?
- Do category pages work and display the correct posts regardless of privacy settings?
→ This post has no body
- Post should display fine regardless.
→ http://yoursite.com/2007/09/04/14/ ("This post has no title")
- There should be a clickable permalink on http://yoursite.com/page/3/
- Does the Post still display fine?
→ Protected: Test with secret password and excerpt / Protected: Test with secret password
- Password input form should display OK.
- Post should be displayed when the password is entered ("secret").
- Password entry should work both from the permalink page and the list page http://yourblog.com/page/3/
→ Image align test
- Images should be aligned left and right without overlap.
- Images shouldn't have a border unless it's part of the design.
→ Test with thumbnails
- Thumbnails should look ok and not overlap.
- Thumbnails shouldn't have a border unless it's part of the design.
→ Test with wide image resized
- Image should display OK.
- Image shouldn't overlap sidebars.
→ Test with wide image
- Image should display OK.
- No border unless it's part of the design.
- Sidebar overlap should be handled appropriately (scrolling or
overflow: hidden
). - Sidebar must not be pushed to the bottom of the page on either the list view or permalink view.
→ Test with image
- Image should display OK.
- No border unless it's part of the design.
→ Post with categories
- Categories should display OK.
→ GMT+10 test post / GMT test post / GMT-6 test post / Article in the distant past
- Timestamps should be correct.
- Date/Time format options should be respected.
→ Draft Post
- Should not be visible, since it is in draft mode.
→ Draft post with file attached
- Should not be visible, since it is in draft mode.
- Image should be attached.
→ Contributor post, pending approval
- Should not be visible.
- Should say: This post is awaiting review, or similar.
Pages
→ About / Lorem Ipsum
- Long and short pages - check that they display OK.
- Comments should be enabled on both.
- Tags and Categories should not be displayed - make sure there isn't a left-over placeholder for them.
→ Page with comments
- Comments should be enabled.
- Comments should be displayed correctly (see notes above about author comment and avatars).
→ Page with comments disabled
- Comments should be disabled.
- There should not be a "comments disabled" message.
- This is a very short page, check that the layout is OK.
→ Parent page / Child page 1 / Child page 2
- Optional bonus points for displaying the parent and/or child when viewing each of these.