We are a group of volunteers who review and approve themes submitted to be included in the official WordPress Theme directory.
We do license, security, and code quality reviews.
We help build and maintain default themes.
The primary focus of the team is to help theme authors transition to blockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience.-based themes.
Clone the theme test data file themeunittestdata.wordpress.xml from the GitHubGitHubGitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ repository https://github.com/WPTT/theme-unit-test (last updated 30/January/2020).
Import test data into your WordPress install by going to Tools => Import => WordPress
Select the XML file from your computer
Click on “Upload file and import”.
Under “Import Attachments,” check the “Download and import file attachments” box and click submit. Note: You may have to repeat the Import step until you see “All Done” to obtain the full list of Posts and Media.
Settings -> General: set the Site Title to something fairly long, and set the Tagline to something even longer. These settings will facilitate testing how the Theme handles these values.
Settings -> Reading: set “Blog pages show at most” to 5. This setting will ensure that index/archive pagination is triggered.
Settings -> Discussion: enable Threaded Comments, at least 3 levels deep. This setting will facilitate testing of Theme comment list styling.
Settings -> Discussion: enable Break comments into pages, and set 5 comments per page. This setting will facilitate testing of Theme paginating link markup/styling.
Settings -> Permalinks: ensure that a non-default permalink setting is selected, e.g. “Month and name”. This setting will facilitate stepping through the Theme Unit Tests.
When viewing any Template Hierarchy Index page, including the default index page (index.php), and (if applicable) Blog Posts Index (home.php), Date Archives (archive.php), CategoryCategoryThe 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. Archives (category.php), TagTagTag is one of the pre-defined taxonomies in WordPress. Users can add tags to their WordPress posts along with categories. However, while a category may cover a broad range of topics, tags are smaller in scope and focused to specific topics. Think of them as keywords used for topics discussed in a particular post. Archives (tag.php), or Author Archives (author.php):
Posts display correctly, with no apparent visual problems or errors.
Posts display in correct order.
Correct number of posts display (as per setting in Settings > Reading).
Page navigation displays and works correctly.
Debugger returns no PHPPHPPHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. http://php.net/manual/en/intro-whatis.php. errors, warnings, or notices.
The browser reports no JavaScriptJavaScriptJavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/. errors.
If the Theme includes either a front-page.php or a home.php template file, go to Dashboard -> Settings -> Reading, and set the Front Page to display a Static Page (use any existing Page), and set the Blog Posts index to another Static Page (e.g. “Lorem Ipsum”).
The Front Page displays properly, and as intended
The Blog Posts index page displays properly
Debugger returns no PHP errors, warnings, or notices
Some content is displayed, more than merely the basic “Error 404 – Page Not Found” message – such as some helpful text, a search form, a list of Post or Pages, etc.
Debugger returns no PHP errors, warnings, or notices
Once password is entered, post or excerptExcerptAn excerpt is the description of the blog post or page that will by default show on the blog archive page, in search results (SERPs), and on social media. With an SEO plugin, the excerpt may also be in that plugin’s metabox. displays properly.
Page navigation links work properly (link to correct page).
Post permalink links to Page 1.
Page 2
Paragraphs are styled correctly.
Left, Center, Right, Justify aligned paragraphs align properly.
Page 3
h1-h6 elements are styled (as appropriate).
blockquote, cite styled (as appropriate).
BlockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. quotes should be indented or otherwise distinct from paragraph text.
If the Theme uses a background image or quote symbol, make sure displays correctly on both short and long quotes.
span with style and ASCII characters should display properly.
table, tr, th, td are styled (as appropriate).
dl (dt, dd), ul, ol, li styled (as appropriate).
Nested lists should be indented correctly.
The following HTMLHTMLHTML is an acronym for Hyper Text Markup Language. It is a markup language that is used in the development of web pages and websites. tags should be styled appropriately to ensure semantic meaning of each tag is preserved: address, a, big, cite, code, del, em, ins, kbd, pre, q, s, strong, sub, sup, tt, var.
Note: abbr and acronym require no special styling. Also, s may be address but was deprected with HTML 4 and can be left with no special styling as well.
div, span maintain proper block or inline display, and styled (as appropriate).
Styling should not negatively impact readability: foreground/background contrast, font family, font size, line height, paragraph width, paragraph spacing.
Images are aligned properly: Center, Left, Right, None.
Check caption styles on first image.
Images should not have a border unless it’s part of design.
Page 2
Captioned Image Alignment Tests
Images are aligned properly: Center, Left, Right, None.
Check caption styles on first image.
Images should not have a border unless it’s part of design.
Page 3
Other Image Tests
Wide Image (Resized) Test
Image should display properly, and should be resized as specified.
SidebarSidebarA sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. must not be pushed to the bottom of the page.
Wide Image (Not Resized) Test
Wide image overflows properly (such as using max-width CSSCSSCSS is an acronym for cascading style sheets. This is what controls the design or look and feel of a site. rule or overflow CSS rule).
Sidebar must not be pushed below content due to image overlap.
Thumbnails
Thumbnails display properly.
Page 4
Floats are cleared properly for floated element (thumbnail image) at the end of the Post Content.
A link to the singular view of the post is recommended to be displayed. Making the post date a permalink (see Twenty Ten for an example) is a great solution.
The default WordPress widgets should work correctly in all widgetized areas.
If the Theme uses custom widgets, they should work correctly. (Custom widgets are programmatically added by the Theme to the list of available widgets in Appearance > Widgets.)
Test all available widgets in all available widgetized areas in the Theme layout.
Content that appears in widgetized areas by default (hard-coded into the sidebar, for example) should disappear when widgets are enabled from Appearance > Widgets.
The screenshot should accurately show the Theme design.
Make sure it doesn’t show customized headerHeaderThe header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. colors or an uploaded logo that wouldn’t appear by default.
Theme authors should only be using links that point directly to a website specifically for the theme; an appropriate website page for the theme; or a reasonably related URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org giving more information about the theme. Using anchor text for search engine gains will not be accepted.