Changeset 14974 for sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/shortcodes/class-upload.php
- Timestamp:
- 07/15/2026 10:29:43 PM (2 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/shortcodes/class-upload.php
r14770 r14974 141 141 <?php 142 142 if ( 1 === (int) $plugins->new ) { 143 esc_html_e( 'Currently there is 1 plugin awaiting review.', 'wporg-plugins' );143 esc_html_e( 'Currently there is 1 plugin awaiting its first review.', 'wporg-plugins' ); 144 144 } else { 145 145 printf( 146 146 /* translators: %s: Amount of plugins awaiting review. */ 147 147 esc_html( _n( 148 'Currently there is %s plugin awaiting review.',149 'Currently there are %s plugins awaiting review.',148 'Currently there is %s plugin awaiting their first review.', 149 'Currently there are %s plugins awaiting their first review.', 150 150 $plugins->new, 151 151 'wporg-plugins' … … 160 160 /* translators: %s: Date of the oldest new plugin in the queue, with a 36 hours offset. */ 161 161 esc_html( __( 162 'All plugins that have been submitted before %s have received an initial response by email to their submission.',162 'All new submissions received before %s have been sent an initial response by email.', 163 163 'wporg-plugins' 164 164 ) ), … … 450 450 <input type="hidden" name="action" value="upload"/> 451 451 452 <h3><?php esc_html_e( 'Please, read and check the following before uploading your plugin', 'wporg-plugins' ); ?></h3> 453 454 <p> 455 <label> 456 <input type="checkbox" name="requirements[faq]" required="required"> 457 <?php 458 printf( 459 __( 'I have read the <a href="%s">Frequently Asked Questions</a>.', 'wporg-plugins' ), 460 'https://developer.wordpress.org/plugins/wordpress-org/plugin-developer-faq/' 461 ); 462 ?> 463 </label> 464 <br> 465 <label> 466 <input type="checkbox" name="requirements[guidelines]" required="required"> 467 <?php 468 printf( 469 __( 'This plugin complies with all of the <a href="%s">Plugin Developer Guidelines</a>.', 'wporg-plugins' ), 470 'https://developer.wordpress.org/plugins/wordpress-org/detailed-plugin-guidelines/' 471 ); 472 ?> 473 </label> 474 <br> 475 <label> 476 <input type="checkbox" name="requirements[author]" required="required"> 477 <?php _e( 'I have permission to upload this plugin to WordPress.org for others to use and share.', 'wporg-plugins' ); ?> 478 </label> 479 <br> 480 <label> 481 <input type="checkbox" name="requirements[license]" required="required"> 482 <?php _e( 'This plugin, all included libraries, and any other included assets are licenced as GPL or are under a GPL compatible license.', 'wporg-plugins' ); ?> 483 </label> 484 <br> 485 <label> 486 <input type="checkbox" name="requirements[plugin-check]" required="required" /> 487 <?php 488 printf( 489 /* Translators: URL to plugin-check plugin */ 490 __( 'I confirm that the plugin has been tested with the <a href="%s">Plugin Check</a> plugin, and all indicated issues resolved (apart from what I believe to be false-positives).', 'wporg-plugins' ), 491 home_url( '/plugin-check/' ) 492 ); 493 ?> 494 </label> 495 </p> 496 497 <h3><?php esc_html_e( 'Plugin Naming', 'wporg-plugins' ); ?></h3> 498 <p><?php echo wp_kses_post( __( '<strong>Generic names</strong> that <strong>resemble existing plugins in the directory</strong> (e.g., “AI Writer”, “Image Optimization”) won’t be accepted, even if the slug is available.', 'wporg-plugins' ) ); ?></p> 499 <p><?php echo wp_kses_post( __( 'Instead, please <strong>start your plugin name with a unique or coined term</strong>, such as your brand, alias, or organization name (e.g., “Acme AI Writer”, “WriteralAI - AI Writter”, “Acme Image Optimization”, “Imageralia - Image Optimization”).', 'wporg-plugins' ) ); ?></p> 500 501 <h3><?php esc_html_e( 'Plugin Ownership', 'wporg-plugins' ); ?></h3> 452 <h2><?php esc_html_e( 'Step 1: Before you submit', 'wporg-plugins' ); ?></h2> 453 <p><?php esc_html_e( 'Please, read and confirm the following.', 'wporg-plugins' ); ?></p> 454 <label> 455 <input type="checkbox" name="requirements[faq]" required="required"> 456 <?php 457 printf( wp_kses_post( __( 'I have read the <a href="%s">Frequently Asked Questions</a>.', 'wporg-plugins' ) ), 'https://developer.wordpress.org/plugins/wordpress-org/plugin-developer-faq/' ); 458 ?> 459 </label> 460 <br> 461 <label> 462 <input type="checkbox" name="requirements[guidelines]" required="required"> 463 <?php 464 printf( wp_kses_post( __( 'I have read and make sure that this plugin complies with <strong>all</strong> of the <a href="%s">Plugins Directory Guidelines</a>.', 'wporg-plugins' ) ), 'https://developer.wordpress.org/plugins/wordpress-org/detailed-plugin-guidelines/' ); 465 ?> 466 </label> 467 <br> 468 <label> 469 <input type="checkbox" name="requirements[plugin-check]" required="required" /> 470 <?php 471 printf( 472 /* Translators: URL to plugin-check plugin */ 473 wp_kses_post( __( 'I confirm that the plugin has been tested with the <a href="%s">Plugin Check</a> plugin, and all indicated issues resolved (apart from what I believe to be false-positives).', 'wporg-plugins' )), 474 esc_url( home_url( '/plugin-check/' ) ) 475 ); 476 ?> 477 </label> 478 479 <h2><?php esc_html_e( 'Step 2: Common reasons plugins are rejected', 'wporg-plugins' ); ?></h2> 480 <h3>🏷️ 481 <?php 482 printf( 483 wp_kses_post( 484 __( 'Naming and ownership – <em>Guideline <a href="%s" target="_blank">17</a></em>', 'wporg-plugins' ) 485 ), 486 'https://developer.wordpress.org/plugins/wordpress-org/detailed-plugin-guidelines/#17-plugins-must-respect-trademarks-copyrights-and-project-names' 487 ); 488 ?> 489 </h3> 490 <p><?php echo wp_kses_post( __( 'Plugin names must be <strong>distinctive</strong> and should not be <strong>confusingly similar</strong> to existing plugins, projects, products, organizations, or trademarks that are not owned by you.', 'wporg-plugins' ) ); ?></p> 491 <p><?php echo wp_kses_post( __( '<strong>Choosing a distinctive name</strong>: Generic names such as "AI Writer" or "Image Optimization" and/or names similar to existing plugins are unlikely to be accepted, even if the plugin slug is available. Make your plugin stand out by using a unique identifier such as your name, brand, organization, or project name (e.g., “<em>Acme</em> AI Writer”, “<em>WriteralAI</em> – AI Writter”)', 'wporg-plugins' ) ); ?></p> 502 492 <p><?php printf( 503 493 /* translators: 1: User profile URL. */ 504 494 wp_kses_post( 505 __( ' Names that <strong>begin</strong> with a project, organization, or trademark are <strong>only accepted if submitted by the verified owner</strong>. Ownership can be <strong>confirmed through the email domain in your <a href="%1$s" target="_blank">user profile</a></strong> - update itbefore submitting.', 'wporg-plugins' )495 __( '<strong>Demonstrating ownership</strong>: Names that begin with a company, project, organization, or trademark name may only be submitted by the verified owner. Ownership is typically verified using the <a href="%1$s" target="_blank">email address associated with your WordPress.org account</a>. If necessary, update your profile before submitting.', 'wporg-plugins' ) 506 496 ), 507 497 esc_url( 'https://profiles.wordpress.org/profile/edit' ) 508 498 ); ?> 499 </p> 500 <p><?php echo wp_kses_post( __( '<strong>If you are not the owner</strong>: Simply do not imply affiliation with a company, project, or trademark that you do not own. You can do so placing their name at the end and making the distinction clear (e.g., “WriteralAI – AI Writer <em>for Acme</em>”)', 'wporg-plugins' ) ); ?></p> 501 <label> 502 <input type="checkbox" name="requirements[naming]" required="required"> 503 <?php esc_html_e( 'I have chosen a plugin name that is not confusingly similar to existing plugins, projects, organizations, or trademarks. I searched on the internet for similar names and found nothing similar.', 'wporg-plugins' ); ?> 504 </label> 509 505 <br> 510 <?php echo wp_kses_post( __( '<i>For example, use an official Acme email domain (e.g., “john@acme.example”) for a plugin named “Acme AI Writer”.</i>', 'wporg-plugins' ) ); ?> 511 </p> 512 <p><?php echo wp_kses_post( __( '<strong>If you don’t own the entity, don’t imply affiliation</strong>. Place their name <strong>at the end</strong> and <strong>make the distinction clear</strong>.', 'wporg-plugins' ) ); ?> 506 <label> 507 <input type="checkbox" name="requirements[author]" required="required"> 508 <?php 509 printf( 510 /* translators: %s: Current user's email address. */ 511 wp_kses_post( __( 'I have permission to upload this plugin to WordPress.org for others to use and share and I am using a WordPress.org account that accurately represents the plugin owner: %s.', 'wporg-plugins' )), 512 '<strong>' . esc_html( wp_get_current_user()->user_email ) . '</strong>' 513 ); 514 ?> 515 </label> 516 517 <h3>🔓 518 <?php 519 printf( 520 wp_kses_post( 521 __( 'Trialware – <em>Guidelines <a href="%1$s" target="_blank">5</a> and <a href="%2$s" target="_blank">6</a></em>', 'wporg-plugins' ) 522 ), 523 'https://developer.wordpress.org/plugins/wordpress-org/detailed-plugin-guidelines/#5-trialware-is-not-permitted', 524 'https://developer.wordpress.org/plugins/wordpress-org/detailed-plugin-guidelines/#6-software-as-a-service-is-permitted' 525 ); 526 ?> 527 </h3> 528 <p><?php echo wp_kses_post( __( 'Plugins hosted in the WordPress.org Plugin Directory <strong>may not artificially restrict functionality that is included in the plugin itself</strong>.', 'wporg-plugins' ) ); ?></p> 529 <p><?php echo wp_kses_post( __( 'This includes but is not limited to: paywalls, license/feature gating, time-limited trials, usage cutoffs, or any other mechanism that restricts, disables, or conditions access to <strong>features implemented in the plugin code and/or that the plugin itself can do</strong>.', 'wporg-plugins' ) ); ?></p> 530 <p><?php echo wp_kses_post( __( 'Please bear in mind that this is an <strong>open source directory for free to use plugins</strong>. Building a business around your plugin is fine, and there are compliant ways of doing so; artificial limitations in built-in code are not one of them.', 'wporg-plugins' ) ); ?></p> 531 <label> 532 <input type="checkbox" name="requirements[trialware]" required="required"> 533 <?php esc_html_e( 'I confirm that my plugin code does not include artificial limitations to the included functionality. I acknowledge that I must comply with this in future, and that my plugin and account could be suspended indefinitely if I fail to do so.', 'wporg-plugins' ); ?> 534 </label> 535 536 <h3>🚫 <?php esc_html_e( 'Not accepted plugins', 'wporg-plugins' ); ?></h3> 537 <p><?php esc_html_e( 'There are some kind of plugins that aren’t accepted in the directory, please do not submit them.', 'wporg-plugins' ); ?></p> 538 <ul> 539 <li><?php echo wp_kses_post( __( 'Plugins that allow arbitrary code insertion/execution are no longer accepted. This includes but is not limited to: PHP, JavaScript editors, File Managers, and AI tools creating code that is executed on the site. HTML is fine as long as it is escaped correctly. <em>Reason: Security</em>.', 'wporg-plugins' ) ); ?></li> 540 <li> 541 <?php printf( 542 wp_kses_post( __( 'Plugins downloading executable code from external sources. <em>Reasons: Security and <a href="%s" target="_blank">Guideline 8</a></em>.', 'wporg-plugins' ) ), 543 'https://developer.wordpress.org/plugins/wordpress-org/detailed-plugin-guidelines/#8-plugins-may-not-send-executable-code-via-third-party-systems' 544 ); ?> 545 </li> 546 <li> 547 <?php printf( 548 wp_kses_post( __( 'Plugins whose functionality is already well represented in the directory, with hundreds of comparable plugins available, and that do not provide meaningful differentiation or introduce substantial innovation. <em>Reason: <a href="%s" target="_blank">Guideline 18</a></em>.', 'wporg-plugins' ) ), 549 'https://developer.wordpress.org/plugins/wordpress-org/detailed-plugin-guidelines/#18-we-reserve-the-right-to-maintain-the-plugin-directory-to-the-best-of-our-ability' 550 ); ?> 551 </li> 552 </ul> 553 554 <h2><?php esc_html_e( 'Step 3: Submission acknowledgement', 'wporg-plugins' ); ?></h2> 555 <p><?php esc_html_e( 'Please confirm that you understand the following:', 'wporg-plugins' ); ?></p> 556 <label> 557 <input type="checkbox" name="requirements[confirmation1]" required="required"> 558 <?php 559 printf( 560 wp_kses_post( __( 'I understand that submissions that do not follow the <a href="%s" target="_blank">Plugins Directory Guidelines</a> may be rejected. Repeated or serious violations may result in further restrictions.', 'wporg-plugins' ) ), 561 'https://developer.wordpress.org/plugins/wordpress-org/detailed-plugin-guidelines/' 562 ); 563 ?> 564 </label> 513 565 <br> 514 <?php echo wp_kses_post( __( '<i>For example, if you don’t own “Acme” use a structure like: “{your-distinguible-plugin-name} for Acme” (e.g., “WriteralAI – AI Writer for Acme”).</i>', 'wporg-plugins' ) ); ?> 515 </p> 566 <label> 567 <input type="checkbox" name="requirements[confirmation3]" required="required"> 568 <?php 569 printf( 570 wp_kses_post( __( 'I understand that hosting in the WordPress.org Plugin Directory is provided subject to continued compliance with the <a href="%s" target="_blank">Plugins Directory Guidelines</a>.', 'wporg-plugins' ) ), 571 'https://developer.wordpress.org/plugins/wordpress-org/detailed-plugin-guidelines/' 572 ); 573 ?> 574 </label> 575 <br> 516 576 517 577 <h3><?php esc_html_e( 'Are you ready? Upload the .zip file for your plugin', 'wporg-plugins' ); ?></h3>
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)