WordPress Requirements Update and New Gutenberg Optimized Attribute

Hi All, just a quick one to let you know I’ve been tied up with something else, but will try to respond here tomorrow. Apologies for the delay.

@StephenCronin @steve_lam what you guys think about this ALTERNATIVE APPROACH to the code quality:

  1. Instead of creating ‘general’ WP-Requirements’ compliant badge, where everyone may have different interpretations and favors, instead of that you guys could add a new section called “Compliant With:” to plugins/themes and Micro-framework.

CODING STANDARDS (“Compliant With:”)

Coding Standards list can be a similar to tag cloud in StackOverflow - here defined tags can be added automatically, but the new tags has to be approved by moderator:

PSR-2 - created by PHP evangelists, but is pretty much cross-platform, any C# or JAVA developer can pick-up this.

PSR-4 Autoloaders - created by PHP evangelists, but is also, pretty much cross-platform, as in C# or JAVA the loading is done automatically as well.

Semantic Versioning - again, evolved from PHP.net’s version_compare(), and became a cross-platform dependency-hell preventer.

BCNF Database Structure - there can also be a lower level definition of Third Normal Form or more strict - Fourth Normal Form

Unicode CLDR KEY=>VALUE language package support - Open-Source “Unicode CLDR” is cross-platform KEY=>VALUE translation-based solution for databases of GEO-CODING (country names, city names, ares, Airport Codes (IATA), phone regions etc.), and is largely sponsored by Google.
Notes: Google also developed Google AMP for WordPress (Accelerated mobile pages) and was main sponsor of WordCamp Europe 2018. As well as this is most popular language translation solution. Also it is the fastest solution, as the language data gets to the memory right away without parsing, can be edited by any editor, including Notepad++, and is suitable for enterprise project with different extensions on same code-base, where LANG_ITEM_TEXT in template, based on extension and loaded file might describe a car or a boat.

POT (Portable Objects Template) files - popular only within WordPress and WPML. The biggest drawback of it, that is is pretty-much commercial tool - the only useful editor is PO-Editor, which is free to translate, but is paid for plugin developers to generate - those files. It is not cross-platform, and is not suitable for extensions and large enterprise projects that needs to run different extensions on same code base.

MICRO-FRAMEWORK:

2 of 3 modern medium+ size plugins and themes runs on some kind of micro-framework, developed by the company or MIT-open-sourced.
None - for the WordPress plugins, that are not based on some kind of micro-framework.

SolidMVC - a GDPR-compliant micro-framework that based on collection of most popular coding-standards (PSR-2, PSR-4 Autoloaders, Semantic Versioning, Unicode CLDR support, BCNF Database Structure) and Technologies (Font-Awesome) to allow any Object-Oriented Software Architect from C# or Java, PHP Software Architects comming to WordPress from Symfony or Laravel, to pick-up and start coding in WordPress withing the same day, without any need to learn any new coding standards. I, as software architect, developed the SolidMVC together with professors and lectors from worlds TOP-500 universities, that are the creators of Software Engineering Master Degree courses of Software Architecture and Design courses. The SolidMVC was developed in 4 years (2015-2019) and is licensed under almost unlimited - MIT-license, meaning that it can be used for both - commercial and non-commercial use. The SolidMVC was presented to all WordPress core contributors, including Ma.tt, Dion Hulse (@dd32), Joost de Valk (@joostdevalk), and release leads of two major WP versions in Contributors Day 2018 and WordCamp Europe 2018, and it was accepted by lead reviewer of WordPress plugins at w.org - Mika Epstein (@Ipstenu). The example MVP (Minimum Viable Product) of SolidMVC is at w.org as “Expandable FAQ”.

Redux framework - popular solution for options for theme authors.

Unison framework - also popular framework by theme authors, it was also used by older versions of Avada.

So keeping in mind, that I put 4 years to develop a micro-framework to create plugins, as well as there is many other micro-frameworks, as well used by hundreds of authors, as a micro-framework author, I’d really love to know who are enjoying and creating the plugins on given technology. As well as that could be a perfect way to understand whose coding quality is high enough - if the framework is accepted by WordPress community, the there should be no issues to get boosted on Envato’s CodeCanyon.

NOTES:

1 Like

Is there an update to this question (especially for plugins)?

What happen if we don’t get the theme updated by 31 May 2019? Will items be removed or something?

And what is it if it is impossible to meet all requirements. One of my plugins does dynamically generate Javascript depending on configurations and parameters in the url! Everything else is extracted properly to an external file but there are parts which need to be rendered on the fly…

1 Like

I also have a question mark behind:

  • Upon uninstallation, a plugin should prompt a user that it will be deleting its data and receive a confirmation that the user is okay with deleting the data before doing so and a plugin should also allow the user the option to keep the data upon uninstallation.
  • An option to export/import settings can be presented during uninstallation so that settings can be saved outside of WordPress prior to deletion.

Because Wordpress does NOT offer this! There is a hook and a uninstall.php file that can be used but no confirmation option! What is possible is to have a option in the plugin where users can select if they want to keep or delete data during uninstallation!

So please clarify this part! Because you have requirements which are not even supported by Wordpress!

Best, Michael

Hi All,

Apologies again for the delay, here are some responses:

========

@modeltheme Thanks for the examples, we’ve fed them back to the team. These requirements do need to be met by all themes by 31 May, but a) they don’t need to be met for existing themes until that time; and b) only serious design issues need to be addressed. We’re working on getting the Reviewers as consistent as possible. If you have questions about a particular decision, please lodge a ticket and we’ll look into it. Thanks.

========

@ThemeSLR - as per correspondence on the ticket, sorry for the mix up and the delay. I believe you have a response from the spot check now.

========

The badge and search boost were created as an incentive for early adoption. We are still working out the consequences of not meeting the requirements by 31 May, so I can’t tell you exactly what they will be - but there will be consequences for authors who have not updated all of their items. We know it will be quite a lot of work for some authors, which is why was gave authors a year to update existing items.

========

Using the Customizer is strongly recommended, but not mandatory. We’ve tried to be careful about our wording, using “must” for mandatory things and using “strongly recommended” and “should” for things that are recommended but not required - but we have not been clear enough in this particular case. We’ll make this clearer in the next update. Thanks for bringing it to our attention.

========

@KestutisIT - I see you’ve submitted a ticket about this, so I will answer you there in the next day or so. I’ll circle back here later with anything relevant to everyone.

I do need to remind you that there are rules about not calling specific people out here on the forums. That applies to Envato staff as well as the rest of the community. It’s fine to discuss a particular person on a ticket, but not the forum, so I’ve edited your post to remove the name of the person you mentioned.

========

Thanks for picking this up! You are of course correct and we’ll need to rework this requirement in the very near future. Sorry for the confusion.

Could you use wp_localize_script for that? Maybe submit a ticket with more information and I will investigate further. Thanks.

========

As @CocoBasic said, there are two separate things going on:

  1. The WP Requirements (covers a lot more than Gutenberg) must be met by 31 May. Once all your themes meet them, you can request the WP Requirements Compliant badge. Your themes do not need to be optimized for Gutenberg in order to do this.

  2. The ‘Gutenberg Optimized’ attribute is something you can turn on yourself IF your theme meets our definition of optimized. It does not need to meet all the requirements in order for you to do this.

The two things are not directly related. We will be checking for both issues (using different processes), but we are still working out the consequences relating to both of these issues.

Once again, @CocoBasic has basically answered this! :slightly_smiling_face:

With the spot check process for authors requesting the WP Requirements Compliant badge, we won’t be disabling items as they don’t have to meet the requirements until 31 May. If there are a small number of changes required, we’ll go through a soft-rejection cycle until the items meet the requirements. If there are a large number of changes required, we’ll ask you read the requirements closely and try again, then resubmit after a timeout period.

We haven’t worked out the consequences for items not meeting the requirements after 31 May, so I can’t say for sure what will happen then. I’d expect that if you were close, we’d go through the soft-rejection cycle (ie not disabling them), but I can’t guarantee that at this point.

We have separate LayersWP Child Themes Requirements that you need to meet. You also need to follow the general theme requirements where possible, but only for your child theme. The LayersWP parent theme does not have to meet our requirements.

========

Sorry! It’s my job to track this post, but I also have quite a few other things I need to work on. I’ll try to be more timely from now, but there will be times I disappear. It’s not that I don’t care, I’m just neck deep in other stuff!

========

As mentioned above, we haven’t worked that part out yet.

3 Likes

Hi,

about wp_localize_script. It does generate inline Javascript. So what is the difference? As my plugin need also working standalone I don’t see a big difference here as the result is almost the same. Also it only work for some parts because I actually completely create dynamic Javascript, css. Rewriting at stable php implementation in Javascript is actually also not a really good idea.
I maybe try to save the generated script to a file and include this. Not sure if this works but as all the scripts need to be actually at the places where they are right now.

@StephenCronin @steve_lam

So this the official reply from WordPress Core team regarding short-echo-tag “<?=” - saying it is allowed. As mentioned - the “Envato WordPress Plugin Requirements Page” has to be fixed:

By @dd32 (Dion Hulse)
I’m closing this ticket for reasons previously outlined, and there being no Meta tasks needed here.

  • In the event the Core team decides to change the coding standards for WordPress Core they can update the Core Handbook.

  • Plugin authors can use short tags if they wish already, they’re not held to the same PHPCS rules of Core unless they choose to , they may use whatever MVC framework they want, and can require the usage of PHP 7.3 if they so desire.

Replies can still be added to this ticket if needed, and if required the ticket will be re-opened by a meta team member, but please consider adding a comment outlining why a meta ticket is needed prior to doing so.

(Source: https://meta.trac.wordpress.org/ticket/4159#comment:7 )

Thanks for this knowledge it really helped me a lot as I am on learning stage and eager to learn Wordpress

Reviewers are doing awful job with testing Gutenberg optimization, my themes are getting back few times with completely irrelevant screenshots that don’t look like my themes at all, is there an error in upload process, are they seeing wrong theme version or what is going on I don’t know but this is very frustrating process where I have to make videos to prove my theme is not what they see on screenshot.

@rayoflightt

I’ve had issues with this in the past. The issues were all related to non-Gutenberg posts (I.e. Classic posts from the theme unit test) viewed in the Gutenberg editor without converting to blocks. In that case the posts do not inherit all of the Gutenberg block styling and look nothing like Gutenberg posts.

I decided the best way forward was to add additional styling for this situation. Now non-Gutenberg posts when viewed in the Gutenberg editor and without being converted to blocks are styled like Gutenberg posts.

Since doing that I no longer have any issues

Steve

1 Like

Hello!
Well this happened to me some time ago, it turned out that, for sure, they were testing with some plugin actived. The issue for me was with some customizer styles not being applied.
I was checking if the kirki class was present in order to load or not defaults.
From their screenshots (the problem took a month to figure out) all was smashed.

My theme, indeed, was NOT loading default styles, because kirki was in fact present, but NOT the kirki from my framework, the one from some external plugin.

So, the testing environment, was for sure not clean.

To fix, i changed the checks to be sure my framework was being loaded, and then the theme was published and rocking.

So, my suggestion, is to think about HOW they can be causing this.

You may find out some condition in your code that is causing to apply wrong styles or not loading all of the assets.

Hope my suggestion can help.

1 Like

It seems this was a problem with one of my themes, classic post not converted to block but that theme passed review test after I showed video from my dashboard with Gutenberg block unit test so I suppose they are somewhat tolerant to that.
But reviewers should explain what they actually see as error, those screenshots are not understandable every time.
Also this issue with classic editor error should be mentioned in Gutenberg optimization page (is it mandatory or not).

I still didn’t find solution for this. Do you have a suggestion? First I thought maybe it is a wrapped div with specific class for classic editor but it seems it is not.

I use a few different selectors to target classic posts (viewed in Gutenberg without converting to blocks), here’s a few I’m using right now:

.wp-block-freeform.block-library-rich-text__tinymce
.editor-rich-text__tinymce

These seem to be quite effective.

1 Like

We have submitted our portfolio more than two months ago but we didn’t get any reply yet.
Could you please check this for us?
Thank you!

It would be nice if Envato began requiring all theme authors to continue offering support and updates for their older themes. Most of the authors on ThemeForest abandon their themes after sales start to dwindle, and instead put all of the attention into their latest creations. This is the reason the theme market is no longer trusted. It’s dishonest to sell a theme that customers put a lot of time and energy into creating their website around, only to have the theme become abandoned after just a couple of years, while authors put all of their focus on their latest products and ignore the customers who put their trust in them. This has become the norm with ThemeForest, and it needs to change. If theme authors need to charge customers for continued updates, then so be it. But abandoning them is ridiculous.

1 Like

To avoid similar issues I look to have all working together. This means old unit tests displaying correctly and if you use the gutenberg test plugin to have all displaying fine.

For some elements as for instance audio shortcodes and so on, is quite a pain because we use a double parsing process, but this is a transition period and within a few months it won’t be necessary.

1 Like

Can someone recommend source with good example how to add plugin’s shortcode as Gutenberg block? Thanks.

How much that usually takes to get response after you submit your portfolio for check?

It takes only 2-3 days to check your items. But, to get the badge, I modified lots of thing and replied about 5 times to the support response. So, your item can pass the check within one month generally.

I used “Gutenberg Block Unit Test” plugin and sample block style CSS from WP default themes.

1 Like