WordPress publication #8

Open
opened 2026-01-18 09:14:42 +00:00 by lewismoten · 6 comments
lewismoten commented 2026-01-18 09:14:42 +00:00 (Migrated from github.com)

Review what's needed to publish to WordPress, and setup updates/automatic updates.

Review what's needed to publish to WordPress, and setup updates/automatic updates.
lewismoten commented 2026-01-20 05:54:43 +00:00 (Migrated from github.com)

Plugin Developer FAQ: https://developer.wordpress.org/plugins/wordpress-org/plugin-developer-faq/
Guidelines: https://developer.wordpress.org/plugins/wordpress-org/detailed-plugin-guidelines/
Plugin Submission: https://wordpress.org/plugins/developers/add/

Install "Plugin Check" by Automatic before submitting.
https://lewismoten.com/wp-admin/tools.php?page=plugin-check&plugin=dreamy-tags%2Fdreamy-tags.php

The plugin submission page says reviews takes 1-10 days, and starts within 5 business days. The FAQ says 14 days to get approved of initial review.

Attempted to submit v1.0.50, but the account was disabled.

Plugin Developer FAQ: https://developer.wordpress.org/plugins/wordpress-org/plugin-developer-faq/ Guidelines: https://developer.wordpress.org/plugins/wordpress-org/detailed-plugin-guidelines/ Plugin Submission: https://wordpress.org/plugins/developers/add/ Install "Plugin Check" by Automatic before submitting. https://lewismoten.com/wp-admin/tools.php?page=plugin-check&plugin=dreamy-tags%2Fdreamy-tags.php The plugin submission page says reviews takes 1-10 days, and starts within 5 business days. The FAQ says 14 days to get approved of initial review. Attempted to submit v1.0.50, but the account was disabled.
lewismoten commented 2026-01-22 03:03:07 +00:00 (Migrated from github.com)

The WordPress.org account was unblocked on Tuesday, and the plugin was submitted. There was a false-positive detection on my profile data that I have since corrected. (Quick Tip: don't say your interests are "Stuff.") It will take 1-10 days to complete the review based on the documentation, with a goal of 5 business days.

The WordPress.org account was unblocked on Tuesday, and the plugin was submitted. There was a false-positive detection on my profile data that I have since corrected. (Quick Tip: don't say your interests are "Stuff.") It will take 1-10 days to complete the review based on the documentation, with a goal of 5 business days.
dmytropetrash commented 2026-01-26 09:19:30 +00:00 (Migrated from github.com)

Hi! To help with the WordPress publication, could you please share more details about the issue you're facing? Meanwhile, make sure your WordPress settings are correctly configured and the plugin is active. Let me know if you need any help!

Hi! To help with the WordPress publication, could you please share more details about the issue you're facing? Meanwhile, make sure your WordPress settings are correctly configured and the plugin is active. Let me know if you need any help!
lewismoten commented 2026-01-27 17:42:18 +00:00 (Migrated from github.com)

Hi! To help with the WordPress publication, could you please share more details about the issue you're facing? Meanwhile, make sure your WordPress settings are correctly configured and the plugin is active. Let me know if you need any help!

This is my first plugin. The initial review stated there was a problem with ownership, which I had addressed. I just got another email for a few more things that I'm working through right now.

List of issues found

WordPress.org directory assets in the plugin code.

We've detected WordPress.org directory plugin asset files in your submission. Thanks for including them; However, these files (banners, icons, screenshots created for the directory plugin page) are not part of the plugin code and should not be included in your plugin zip file.

Plugin assets should be uploaded to the WordPress.org repository separately after the plugin is approved. This is done through the SVN access.

For more information about plugin assets and how to upload them, please refer to: How Your Plugin Assets Work.

From your plugin:
dreamy-tags/assets/screenshot-1.png
dreamy-tags/assets/banner-772x250.png
dreamy-tags/assets/screenshot-2.png
dreamy-tags/assets/icon-128x128.png
dreamy-tags/assets/icon-256x256.png

Use wp_enqueue commands

Your plugin is not correctly including JS and/or CSS. You should be using the built in functions for this:

When including JavaScript code you can use:
wp_register_script() and wp_enqueue_script() to add JavaScript code from a file.
wp_add_inline_script() to add inline JavaScript code to previous declared scripts.

When including CSS you can use:
wp_register_style() and wp_enqueue_style() to add CSS from a file.
wp_add_inline_style() to add inline CSS to previously declared CSS.

Note that as of WordPress 6.3, you can easily pass attributes like defer or async: https://make.wordpress.org/core/2023/07/14/registering-scripts-with-async-and-defer-attributes-in-wordpress-6-3/

Also, as of WordPress 5.7, you can pass other attributes by using this functions and filters: https://make.wordpress.org/core/2021/02/23/introducing-script-attributes-related-functions-in-wordpress-5-7/

If you're trying to enqueue on the admin pages you'll want to use the admin enqueues.

https://developer.wordpress.org/reference/hooks/admin_enqueue_scripts/
https://developer.wordpress.org/reference/hooks/admin_print_scripts/
https://developer.wordpress.org/reference/hooks/admin_print_styles/

Example(s) from your plugin:
dreamy-tags.php:103 echo '

> Hi! To help with the WordPress publication, could you please share more details about the issue you're facing? Meanwhile, make sure your WordPress settings are correctly configured and the plugin is active. Let me know if you need any help! This is my first plugin. The initial review stated there was a problem with ownership, which I had addressed. I just got another email for a few more things that I'm working through right now. List of issues found ## WordPress.org directory assets in the plugin code. We've detected WordPress.org directory plugin asset files in your submission. Thanks for including them; However, these files (banners, icons, screenshots created for the directory plugin page) are not part of the plugin code and should not be included in your plugin zip file. Plugin assets should be uploaded to the WordPress.org repository separately after the plugin is approved. This is done through the SVN access. For more information about plugin assets and how to upload them, please refer to: [How Your Plugin Assets Work](https://developer.wordpress.org/plugins/wordpress-org/plugin-assets/). From your plugin: dreamy-tags/assets/screenshot-1.png dreamy-tags/assets/banner-772x250.png dreamy-tags/assets/screenshot-2.png dreamy-tags/assets/icon-128x128.png dreamy-tags/assets/icon-256x256.png ## Use wp_enqueue commands Your plugin is not correctly including JS and/or CSS. You should be using the built in functions for this: When including JavaScript code you can use: wp_register_script() and [wp_enqueue_script()](https://developer.wordpress.org/reference/functions/wp_enqueue_script/) to add JavaScript code from a file. [wp_add_inline_script()](https://developer.wordpress.org/reference/functions/wp_add_inline_script/) to add inline JavaScript code to previous declared scripts. When including CSS you can use: wp_register_style() and [wp_enqueue_style()](https://developer.wordpress.org/reference/functions/wp_enqueue_style/) to add CSS from a file. [wp_add_inline_style()](https://developer.wordpress.org/reference/functions/wp_add_inline_style/) to add inline CSS to previously declared CSS. Note that as of WordPress 6.3, you can easily pass attributes like defer or async: https://make.wordpress.org/core/2023/07/14/registering-scripts-with-async-and-defer-attributes-in-wordpress-6-3/ Also, as of WordPress 5.7, you can pass other attributes by using this functions and filters: https://make.wordpress.org/core/2021/02/23/introducing-script-attributes-related-functions-in-wordpress-5-7/ If you're trying to enqueue on the admin pages you'll want to use the admin enqueues. https://developer.wordpress.org/reference/hooks/admin_enqueue_scripts/ https://developer.wordpress.org/reference/hooks/admin_print_scripts/ https://developer.wordpress.org/reference/hooks/admin_print_styles/ Example(s) from your plugin: dreamy-tags.php:103 echo '<style> ## Generic function/class/define/namespace/option names All plugins must have unique function names, namespaces, defines, class and option names. This prevents your plugin from conflicting with other plugins or themes. We need you to update your plugin to use more unique and distinct names. A good way to do this is with a prefix. For example, if your plugin is called "Dreamy Tags" then you could use names like these: function dreata_save_post(){ ... } class DREATA_Admin { ... } update_option( 'dreata_options', $options ); register_setting( 'dreata_settings', 'dreata_user_id', ... ); define( 'DREATA_PLUGIN_DIR', plugin_dir_path( __FILE__ ) ); global $dreata_options; add_action('wp_ajax_dreata_save_data', ... ); namespace lewismoten\dreamytags; Disclaimer: These are just examples that may have been self-generated from your plugin name, we trust you can find better options. If you have a good alternative, please use it instead, this is just an example. The prefix should be at least four (4) characters long (don't try to use two- or three-letter prefixes anymore). We host almost 100,000 plugins on WordPress.org alone. There are tens of thousands more outside our servers. Believe us, you're likely to encounter conflicts. You also need to avoid the use of __ (double underscores), wp_ , or _ (single underscore) as a prefix. Those are reserved for WordPress itself. You can use them inside your classes, but not as stand-alone function. Please remember, if you're using _n() or __() for translation, that's fine. We're only talking about functions you've created for your plugin, not the core functions from WordPress. In fact, those core features are why you need to not use those prefixes in your own plugin! You don't want to break WordPress for your users. Related to this, using if (!function_exists('NAME')) { around all your functions and classes sounds like a great idea until you realize the fatal flaw. If something else has a function with the same name and their code loads first, your plugin will break. Using if-exists should be reserved for shared libraries only. Remember: Good prefix names are unique and distinct to your plugin. This will help you and the next person in debugging, as well as prevent conflicts. Analysis result: # This plugin is using the prefix "dreamy_tags" for 3 element(s). # Looks like there is an element not using common prefixes. dreamy-tags.php:147 wp_localize_script('dreamy-tags-block-editor', 'DreamyTagsBlock', array('previewImage' => plugins_url('assets/block-preview.png', __FILE__))); # ↳ Detected name: DreamyTagsBlock]
dmytropetrash commented 2026-01-27 17:50:25 +00:00 (Migrated from github.com)

ok, perfect!

ok, perfect!
lewismoten commented 2026-01-29 06:34:19 +00:00 (Migrated from github.com)

Another review came back a few hours ago regarding generic naming. I've now standardized all functions, shortcode handlers, and the widget class to the dreamy_tags_* prefix (including removing PascalCase from the main class per reviewer guidance). All previous lewismoten_dreamy_tags_* and LewisMotenDreamyTags* identifiers have been removed.

Hoping this resolves the remaining naming issues.

Another review came back a few hours ago regarding generic naming. I've now standardized all functions, shortcode handlers, and the widget class to the `dreamy_tags_*` prefix (including removing PascalCase from the main class per reviewer guidance). All previous `lewismoten_dreamy_tags_*` and `LewisMotenDreamyTags*` identifiers have been removed. Hoping this resolves the remaining naming issues.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lewismoten/dreamy-tags#8
No description provided.