New Project: Rewriting the requirements

Project description


Making the requirements clear, easy to follow and easy to check.


This project will not be starting with a blank slate, but make the best of what we have.


In no particular order:

  • Review whether current requirements and recommendations are valid
  • Add new requirements when necessary
  • Reorganize requirements and topics
  • Rewrite requirements to make them easier to understand


Project format, mandate, timeline and meeting times

Suggested format

A smaller project group with a separate meeting time is preferred, that way the Theme Review Team can still hold the regular meetings on Tuesdays to discuss other topics.


The group should have a mandate to change the wording of the requirements and examples with some exceptions:

Project leads/key reviewers should have access to making changes to the actual documents.

Major changes like completely removing a requirement should still be brought up during a Theme Review meeting.

Suggested meeting times

Every other Thursday at 19:00 CET,  alternating with the automation project meeting.

The Theme Review shindigs on the first Saturday of each month could also be used for longer meetings.


The project would need to decide on partial goals, for example monthly or bi monthly milestones to ensure that the project moves forward.


  • March 4 shindig: Requirements that have been voted on but not added,  should be added to the current requirements page.
  • In june, all requirements that are checked by the new Theme Check plugin should be separated from the rest of the requirements.


Our first meeting will be on Thursday, February 23 at 19:00 CET.


  • Introduction
    • Let’s see who are interested in helping out.
  • How can we work on the requirements together?
    • How do we record and share our work in progress? Do we need any external tools?
    • Decide who our target audience is to be able to set a “tone” of our content and level of difficulty for the examples.
    • In what format do we present the requirements, keeping time limits and milestones in mind?
  • Decide priorities for march-april
    • Missing requirements (band-aids)
    • Reordering and regrouping current requirements

March 4 Shindig

Requirements that have been voted on but not added should be added to the current requirements page.

Our second meeting will be on Thursday, March 9 at 19:00 CET.


  • Continue discussing any previous topics that were not finished during the last meeting.
  • Reordering and regrouping requirements
    • Is the requirement under the correct topic or does it need to be moved or placed under a new topic? We also have topics with only a few requirements that perhaps could be combined into one, like Naming and Screenshot.
    • Are there recommendations that should be moved to the required list? For example the Theme and Author URI.


Agenda for 2017 February 21

The Theme Review Team holds a meeting weekly and we encourage all members to attend.

Channel: #themereview | Time: Tuesday at 18:00 UTC 18:00 UTC


Community Summit 2017

@grapplerulrich wrote a post about it. We need to decide on topics that we want to discuss and who is able to attend.

It would be also good to discuss how we can keep people who are unable to attend informed and allow them voice their ideas and opinions but at the same time allowing the people attending the community summit to make decisions so to that changes can happen quickly.

Mentoring program

@thinkupthemes is leading the new mentoring program. Checkout the blog post

We are also collecting questions for a frequently asked questions page.

Projects page

As not everyone knows this we have a projects page with projects that we are working on and projects that we want to work on but need people to help out with them.

If you have any topics, then please reply to this post and include the topic, along with a brief description of what you would like to discuss.

Community Summit 2017

What is a Community Summit

The Community Summit is a small, discussion-based event where we hold face-to-face conversations about issues or subjects that are difficult to discuss online. This is not a Contributor Day for experienced folks only, please keep this in mind when you start thinking about the topics (see below). We will gather to discuss major issues; it’s about solving hard problems to keep alive and move forward the project.

When and where is it?

The 2017 WordPress Community Summit (CS) will take place on Tuesday-Wednesday, 13-14 June, before WordCamp Europe in Paris, France (the venue will be in the 15th district of Paris).

Which topics are discussed

It’s up to all of us really! These topics/issues should be relevant for the progress of the team and the WordPress open source project as a whole, and we should prioritize topics which are sensitive enough to specifically require in-person discussion. Comment below with your ideas and suggestions.

Who is going

We are going to review the topics and will nominate Summit participants based on the topics we identify as needing in-person discussion.

Once we have decided on the topics we can work to nominate people who are needed for the in-person discussions. Once we have have a list of nominees we can check with them if they are able to attend. If they are unable to attend due to financial reasons then we can look with the WordPress Foundation for some type of partial financial support.

The selection is based on several factors, including: representation of a wide, diverse range of opinions (based on the agreed-upon topics selected by each team), diversity, inclusion, and activity of the contributors.


  • What should we discuss at the community summit?
  • Let us know if you are coming to Paris and can make the community summit.
  • Do you have any questions?

Automation Meeting February 16

The last meeting was on December 22, where we discussed

  • @miyauchi was working on BDD (behavior-driven development) based review system.
  • @rabmalin developed a plugin to run the PHPCS checks in WordPress
  • @jrf was nearly ready to start pulling the utility functions to WPCS.
  • @jrf proposed that we start add PHP Compatibility testing and define which PHP version themes should support. In a previous TRT meeting we decided that all themes should support PHP7.
  • @grapplerulrich asked for feedback on which JavaScript functions to restricted and which parameters in PHP functions to not allow.

Channel: #themereview | Time: Thursday at 14:00 UTC 14:00 UTC

The agenda for the 16th February will be

  • Short update from the contributors what they have worked on.
  • Define goals for the next meeting.
  • Discuss any open issues and/or pull requests that need attention.

We need help with the following items.

If you are interested in writing sniffs, please DM me on Slack with an issue that you would like to work on and I can help you get started and answer any questions.

Pinging @frankklein, @jrf, @shinichin, @miyauchi, @iamdmitrymayorov, @jmichaelward, @marius2012, @djrmom, @rabmalin

If I have missed any usernames, it’s not on purpose and do consider yourself invited to the meeting.

Agenda for 2017 February 14

The Theme Review Team holds a meeting weekly and we encourage all members to attend.

Channel: #themereview | Time: Tuesday at 18:00 UTC 18:00 UTC


WordPress Stackoverflow Community Promotion Ads

After discussing the idea last week @smartcat has created an image that we can use:

The click through url would be: and the tagline “Join the Theme Review Team”.

Prohibit overriding WordPress globals

Recently we added a new check to the new Theme Check to check for overriding WordPress globals. The check will also pick up code like the following.

global $post;
$post = get_post( '10' );
setup_postdata( $post );
// do something.

Is this valid code for a theme or should it be using WP_Query instead?

For example:
// WP_Query arguments.
$args = array(
'page_id' => $id,
'no_found_rows' => true,
'update_post_meta_cache' => false,
'update_post_term_cache' => false,
// The Query.
$query = new WP_Query( $args );

// The Loop.
if ( $query->have_posts() ) {
while ( $query->have_posts() ) {
get_template_part( 'template-parts/page/content', 'front-page-panels' );
// Restore original Post Data.


The proposal is to only allow iframes with URLs from the whitelist. In most cases wp_oembed_get() can be used instead.



The whitelist can be always updated in the future to support

General Improvements

There are have been two improvements to the Theme Directory and the Theme Trac.

  1. There is a link in the Theme Directory that links to all of the tickets for the current theme.
  2. New trac tickets will have a link to making it easier to see the code.

Priority queue

We pausing on the priority queue as there are a few issues with it. We will relook it at a later date.

  • We were undecided who should review the themes in the priority queue; assigned when clicking the review button, experienced reviewers or key reviewers.
  • We were also unsure about any negative effects this would have like allowing theme authors on the priority queue to release more themes quicker.

If you have any topics, then please reply to this post and include the topic, along with a brief description of what you would like to discuss.