Skip to content

Use Runcloud v3 api#75

Merged
superdav42 merged 9 commits intomainfrom
run-cloud
Dec 23, 2025
Merged

Use Runcloud v3 api#75
superdav42 merged 9 commits intomainfrom
run-cloud

Conversation

@superdav42
Copy link
Collaborator

@superdav42 superdav42 commented Apr 28, 2025

fixes #48
but generated by AI. Needs reviewed and tested.

Summary by CodeRabbit

  • New Features

    • Added drag-and-drop sorting library for enhanced UI interactions.
    • Expanded hosting integrations with additional features (automatic subdomain creation, domain removal propagation, SSL management).
  • Documentation

    • Comprehensive update of all documentation to reflect product rebrand.
    • Added new documentation sections for enhanced feature coverage.
  • Chores

    • Rebranded product name throughout codebase and all user-facing content.
    • Updated translation domains and localization strings.

✏️ Tip: You can customize this high-level summary in your review settings.

# Conflicts:
#	inc/integrations/host-providers/class-runcloud-host-provider.php
@superdav42
Copy link
Collaborator Author

More work is needed. It should continue to use V2 of the api if it's using the old config. New users should be prompted to use the bearer token but we don't want to break existing, working sites and force them to re-configure runcloud if v2 is still functional.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 9, 2025

Walkthrough

A comprehensive branding rebranding from "WP Multisite WaaS" to "Multisite Ultimate" across the codebase, including translation textdomain updates from wp-multisite-waas to multisite-ultimate, documentation rewrites, composition metadata changes, and the addition of a new Sortable.js drag-and-drop library with async flag removals in two script enqueue calls.

Changes

Cohort / File(s) Summary
Branding & Project Metadata
composer.json, README.md, constants.php
Project name and URLs updated from WP Multisite WaaS to Multisite Ultimate; archive exclusion list expanded to include patches directory; plugin description refined.
Translation & Textdomain Updates
data/translatable-strings.php, inc/admin-pages/class-*.php (40+ admin page files)
All localization textdomain references changed from wp-multisite-waas to multisite-ultimate across UI strings, labels, tooltips, descriptions, titles, and menu items in admin pages (About, Broadcast, Checkout, Customer, Discount Code, Domain, Email, etc.). No functional logic altered.
Wiki Documentation - Core & Guides
.wiki/Home.md, .wiki/README.md, .wiki/_Sidebar.md, .wiki/wp-ultimo-101.md, .wiki/wp-ultimo-requirements.md, .wiki/touring-the-admin-panel.md, .wiki/*.md (50+ docs)
Comprehensive rebranding of all documentation from "WP Multisite WaaS" to "Multisite Ultimate" across headings, navigation paths, feature descriptions, admin UI references, troubleshooting sections, and log message references. Documentation structure expanded with new sections (Addons, Developers, FAQ).
Wiki Integration Documentation
.wiki/*-Integration.md (10 files: Closte, Cloudflare, Cloudways, GridPane, cPanel, RunCloud, ServerPilot, WP-Engine, WPMU-DEV, MailChimp, AffiliateWP)
Product name rebranded in overview, setup instructions, domain mapping workflows, logging/troubleshooting references, and admin navigation paths; added domain removal behavior and automatic subdomain creation features in relevant integrations; added explicit "Save Changes" steps.
Wiki Feature & Payment Documentation
.wiki/checkout-forms.md, .wiki/getting-paid-v2.md, .wiki/setting-up-the-*.md (Stripe, PayPal, Payfast, GoCardless), .wiki/managing-*.md (Payments, System Emails, Shareable Links)
Product branding and navigation paths updated throughout payment gateway, checkout, invoice, email, and payment management docs; added expanded setup workflows for payment gateways and email management.
Wiki User & Account Documentation
.wiki/your-client-s-account-page-v2.md, .wiki/how-can-i-*.md (3 docs), .wiki/understanding-*.md (2 docs), .wiki/upgrading-a-plan-v2.md, .wiki/downgrading-a-plan-v2.md
Navigation paths and product references rebranded; clarified domain-related behavior in customer account pages; expanded manual payment workflow with explicit steps.
Wiki Developer & Advanced Docs
.wiki/code-snippets-for-v2.md, .wiki/wp-ultimo-hooks-and-filters.md, .wiki/the-wp-ultimo-register-api-endpoint.md, .wiki/integrating-wp-ultimo-with-zapier.md, .wiki/a-first-look-on-webhooks-v2.md
Product name updated in API endpoint documentation, code snippet references, hook/filter documentation, Zapier integration guides, and webhook references; event/trigger/action naming updated to reflect Multisite Ultimate.
Wiki Template & Site Management
.wiki/site-templates-v2.md, .wiki/auto-search-and-replace-in-site-templates-v2.md, .wiki/how-to-configure-domain-mapping-*.md (2 docs), .wiki/how-to-export-and-import-a-site-with-wp-ultimo-site-exporter.md
Rebranding in domain mapping configuration, site template management, domain export/import workflows; added troubleshooting guidance for DNS/A Record setup and domain registrar coordination.
Wiki Product & Subscription Management
.wiki/creating-your-first-subscription-product-v2.md, .wiki/creating-discount-codes-v2.md, .wiki/basic-concepts.md, .wiki/frequently-asked-questions.md, .wiki/tax-handling.md
Product name updates throughout product creation, discount, subscription, tax, and FAQ documentation; added integration mode descriptions for MailChimp add-on.
Wiki Customization & Theme Docs
.wiki/customizing-your-*.md (registration forms, admin panel with Material WP and PRO Theme), .wiki/creating-custom-admin-pages-and-sub-pages-using-wp-ultimo-admin-page-creator.md, .wiki/activating-wp-ultimo-language-selector.md, .wiki/editing-plugins-and-themes-meta-information-with-wp-ultimo-plugin-and-theme-manager.md
Branding updates and expanded UI guidance; added descriptive sections for Language Selector activation showing new UI and placement options for Login/Sign-up Flow.
Wiki Installation & Migration
.wiki/installing-wp-ultimo-v2.md, .wiki/migrating-from-v1.md, .wiki/error-installing-the-sunrise-file.md, .wiki/setting-the-sunrise-constant-to-true-on-closte.md
Setup wizard and migration guidance rebranded; installation prerequisites and licensing references updated; troubleshooting and folder-permissions caution notes updated.
Wiki Communication & Affiliate Docs
.wiki/sending-emails-and-broadcasts-v2.md, .wiki/the-registration-flow-v2.md, .wiki/event-register-an-account-via-zapier.md, .wiki/the-wp-ultimo-affiliate-program.md, .wiki/using-wp-ultimo-mailchimp-integration.md, .wiki/using-wp-ultimo-affiliatewp-integration-to-create-your-own-referral-program-for-wp-ultimo.md
Rebranding in registration flow, email/broadcast workflows, Zapier event integration, affiliate program documentation, and MailChimp integration; added new affiliate onboarding flow (Lemon Squeezy submission and approval) and payout threshold details.
Wiki Troubleshooting & Help Docs
.wiki/how-to-get-help.md, .wiki/how-to-join-wp-ultimo-community.md, .wiki/how-to-get-custom-development-help-from-codeable.md, .wiki/known-incompatibilities-with-other-plugins.md, .wiki/what-is-wordpress-multisite.md, .wiki/why-is-wp-ultimo-no-longer-sold-at-codecanyon.md, .wiki/why-wp-ultimo.md, .wiki/translating-wp-ultimo.md, .wiki/re-ordering-the-wp-ultimo-country-list.md, .wiki/canceling-a-membership-v2.md, .wiki/managing-memberships-v2.md
Comprehensive rebranding and feature documentation; added new section about finding product on official website (wpultimate.com); license key and community access references updated.
Wiki Conversion Scripts
.wiki/convert_html_to_md.py, .wiki/convert_html_to_md_advanced.py, .wiki/convert_simple.py
Home.md generation content updated to change title and welcome text from "WP Multisite WaaS Documentation" to "Multisite Ultimate Documentation".
Removed Documentation
CLAUDE.md
Complete removal of Architecture Overview and development guidance file (build, QA, test commands, system design, database layer, payment gateways, domain mapping, helpers, security notes).
New JavaScript Library
assets/js/lib/sortablejs.js
Complete Sortable.js v1.8.4 UMD library implementation (~800 lines) enabling drag-and-drop list sorting with public API (constructor, create method, utilities), lifecycle event system, group/pull/put logic, auto-scrolling, clone/ghost management, serialization (toArray, sort, save), and comprehensive DOM utilities for cross-browser compatibility.
Admin Page Script Enhancements
inc/admin-pages/class-customizer-admin-page.php, inc/admin-pages/class-domain-edit-admin-page.php
Removed async flag from JavaScript enqueue calls in register_scripts methods; documentation header rebranded from WP Multisite WaaS to Multisite Ultimate.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Areas requiring extra attention:

  • assets/js/lib/sortablejs.js: New 800+ line library addition requires thorough review of drag-and-drop mechanics, event handling, browser compatibility, and API surface to ensure correctness and no regressions.
  • Translation domain migrations (inc/admin-pages/class-*.php): Verify all wp-multisite-waasmultisite-ultimate textdomain changes are consistent across 40+ admin page files to prevent localization breakage.
  • Wiki conversion scripts (.wiki/convert_*.py): Confirm Home.md generation logic produces correct titles after rebranding.
  • Async script flag removals in Customizer and Domain edit pages: Confirm removal of async does not negatively impact page load performance or functionality.
  • CLAUDE.md removal: Verify no active documentation links or build processes depend on this file before deletion.

Possibly related PRs

  • PR #239: Modifies the same admin page files to remove async flags in script enqueue calls (class-customizer-admin-page.php, class-domain-edit-admin-page.php), suggesting parallel or concurrent work on JavaScript loading optimization.
  • PR #183: Shares extensive branding and textdomain update patterns across admin page classes, indicating earlier or concurrent rebranding efforts affecting overlapping files.
  • PR #230: Updates composer.json URL field (changing domain reference), which aligns with this PR's metadata rebranding to "Multisite Ultimate."

Poem

🐰 Hop, hop! A grand rebrand takes shape,
From WaaS to Ultimate, no escape!
Text domains dance and docs renew,
With Sortable sorting—fresh and true.
Our whiskers twitch at change so wide,
A branding leap with loyal pride!

Pre-merge checks and finishing touches

❌ Failed checks (2 warnings)
Check name Status Explanation Resolution
Linked Issues check ⚠️ Warning The PR addresses the core requirement from #48 (RunCloud v3 API implementation), but the changeset is primarily branding/rebranding of 'WP Multisite WaaS' to 'Multisite Ultimate' with only RunCloud integration documentation updated. No actual code changes to the RunCloud integration logic are evident in the raw summary. The PR should implement actual RunCloud v3 API bearer-token authentication in the integration code, not just documentation rebranding. Code changes to support both v2 and v3 APIs are required per the issue requirements.
Out of Scope Changes check ⚠️ Warning The vast majority of changes are a comprehensive rebranding from 'WP Multisite WaaS' to 'Multisite Ultimate' across documentation, configs, and code files, which is out of scope for the RunCloud v3 API implementation objective. Separate the rebranding changes into a distinct PR. This PR should focus exclusively on implementing RunCloud v3 API support with backward compatibility for v2 API as noted in the issue comments.
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title 'Use Runcloud v3 api' directly addresses the main objective from issue #48 about implementing RunCloud v3 API support.
Docstring Coverage ✅ Passed Docstring coverage is 84.62% which is sufficient. The required threshold is 80.00%.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch run-cloud

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 PHPStan (2.1.33)

Path /wp-multisite-waas.php does not exist


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 20

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (5)
.wiki/the-wp-ultimo-affiliate-program.md (1)

24-24: Minor: Fix numeric formatting.

Line 24 contains an apparent formatting error: "100,00 US Dollars". Assuming this is intended to represent one hundred thousand, the correct US English format would be "100,000 US Dollars". If it's meant to be one hundred dollars, it should be "100.00 US Dollars" or "100 US Dollars".

Apply this diff to correct the formatting:

-Once you reach the 100,00 US Dollars threshold you are able to receive your affiliate payment.
+Once you reach the 100,000 US Dollars threshold you are able to receive your affiliate payment.
inc/admin-pages/class-checkout-form-edit-admin-page.php (1)

1-1560: Critical inconsistency: File contents don't match PR objectives.

The PR objectives state this implements RunCloud v3 API with bearer-token authentication (issue #48), but this file contains only rebranding changes (translation domain updates from wp-multisite-waas to multisite-ultimate and header comment updates). There is no RunCloud-related code in this checkout form admin page.

This suggests either:

  • Wrong files are included in this PR
  • PR description/objectives are incorrect
  • A git/branch management issue

Please verify that the correct files are being reviewed for the RunCloud v3 API integration.

.wiki/why-is-wp-ultimo-no-longer-sold-at-codecanyon.md (1)

19-19: Update domain reference to current official website.

Line 19 references "wpultimo.com" which is offline. The official website for Multisite Ultimate is multisiteultimate.com. Update the domain and use HTTPS:

-Now, you will find us on our website [wpultimo.com](http://wpultimo.com), where you will be able to purchase our plugin.
+Now, you will find us on our website [multisiteultimate.com](https://multisiteultimate.com), where you will be able to purchase our plugin.
inc/admin-pages/class-dashboard-admin-page.php (1)

538-552: Align main menu title with new “Multisite Ultimate” branding.

Most strings in this class now say “Multisite Ultimate”, but get_menu_title() still returns 'Multisite WaaS':

public function get_menu_title() {
    return __('Multisite WaaS', 'multisite-ultimate');
}

Unless you intentionally want to keep the old label in the admin menu, this should likely be updated to “Multisite Ultimate” for consistency with the rest of the UI and docs.

 public function get_menu_title() {
-
-    return __('Multisite WaaS', 'multisite-ultimate');
+    return __('Multisite Ultimate', 'multisite-ultimate');
 }
.wiki/Runcloud-Integration.md (1)

14-19: Critical: Documentation still references API v2, not v3.

This PR claims to implement RunCloud v3 API with bearer-token authentication (per issue #48), but this documentation still shows the v2 API configuration using WU_RUNCLOUD_API_KEY and WU_RUNCLOUD_API_SECRET.

According to the PR objectives:

  • New users should use bearer-token (v3) authentication
  • Existing v2 configurations should continue to work

The documentation should be updated to:

  1. Document the new v3 bearer-token authentication method
  2. Explain the backward compatibility strategy for v2 users
  3. Provide migration guidance
♻️ Duplicate comments (2)
.wiki/setting-up-the-paypal-gateway-v2.md (1)

3-3: Verify top‑level admin menu label used in this path.

The doc instructs users to go to “Multisite Ultimate > Settings > Payments”, but the current Dashboard_Admin_Page::get_menu_title() still returns “Multisite WaaS”. Once you finalize the menu label in code, please ensure this navigation path matches the actual label to avoid confusion.

Also applies to: 13-13

.wiki/the-registration-flow-v2.md (1)

3-3: Confirm that the documented admin paths match the actual menu label.

This article now refers to paths like “Multisite Ultimate > Settings > Login & Registration” and “Multisite Ultimate > Payments”, but the current dashboard admin class still exposes the menu title “Multisite WaaS”. Once the menu label in code is finalized, please ensure these paths match the real UI so users can follow them accurately.

Also applies to: 11-11, 47-47, 53-53

🧹 Nitpick comments (36)
.wiki/using-wp-ultimo-mailchimp-integration.md (2)

3-3: Soften the intensifier "really" for professional tone.

The phrase "really easy" could be more professional. Consider alternatives like "straightforward" or "simple" to align with documentation standards.

-Syncing subscribers' emails with your MailChimp lists is really easy with our Multisite Ultimate: MailChimp Integration Add-on.
+Syncing subscribers' emails with your MailChimp lists is straightforward with our Multisite Ultimate: MailChimp Integration Add-on.

7-7: Replace "talk with" with more precise verb.

The construction "talk with the MailChimp API" is awkward. Use "communicate with," "interact with," or "connect to" instead.

-Before we start to get into the different settings available, we need a MailChimp API key. This will allow Multisite Ultimate to talk with the MailChimp API to retrieve lists, groups, and add email addresses to those lists and groups when users sign up.
+Before we start to get into the different settings available, we need a MailChimp API key. This will allow Multisite Ultimate to communicate with the MailChimp API to retrieve lists, groups, and add email addresses to those lists and groups when users sign up.
.wiki/creating-discount-codes-v2.md (1)

81-81: Consider a more idiomatic phrasing for clarity.

The phrase "To do this, go to" could be more direct and action-oriented.

Consider revising to improve readability:

-First, you need to get the shareable link for your plan. To do this, go to **Multisite Ultimate > Products** and select a plan.
+First, get the shareable link for your plan by navigating to **Multisite Ultimate > Products** and selecting a plan.

This is flagged by static analysis and makes the instruction slightly more concise.

.wiki/creating-custom-admin-pages-and-sub-pages-using-wp-ultimo-admin-page-creator.md (1)

3-3: Consider a stronger alternative to "really easy."

The static analysis tool suggests replacing the over-used intensifier "really" with a more specific or impactful descriptor to improve documentation clarity.

Example revision:

-While WordPress makes it really easy to add content to the front end of sites, creating pages and sub-pages on the admin side requires some basic coding skills. Multisite Ultimate: Admin Page Creator aims to bring that same ease of use of the front end to the back end of your network sites.
+While WordPress makes it effortless to add content to the front end of sites, creating pages and sub-pages on the admin side requires some basic coding skills. Multisite Ultimate: Admin Page Creator aims to bring that same ease of use of the front end to the back end of your network sites.
.wiki/how-do-i-install-wordpress-multisite.md (1)

65-65: Minor style improvement: prefer "can" over "able to".

As suggested by static analysis, consider using the more concise form:

-It is important to test and make sure that you are able to create a subsite on your WordPress Multisite installation before you install Multisite Ultimate.
+It is important to test and make sure that you can create a subsite on your WordPress Multisite installation before you install Multisite Ultimate.
.wiki/how-to-join-wp-ultimo-community.md (1)

7-7: Add alt text to all images for accessibility.

Multiple images throughout the documentation lack alternate text (alt text), which hinders accessibility for screen readers and SEO. The static analysis tool flagged this at line 27, and the same issue applies to all other image references.

Update each markdown image link to include descriptive alt text in square brackets:

-![](https://wp-ultimo-space.fra1.cdn.digitaloceanspaces.com/...)
+![Screenshot showing community channels interface](https://wp-ultimo-space.fra1.cdn.digitaloceanspaces.com/...)

Provide meaningful descriptions for each image (e.g., "Registration form", "Community channel list", "License unlock page", etc.).

Also applies to: 11-11, 15-15, 19-19, 23-23, 27-27, 31-31, 35-35

.wiki/site-templates-v2.md (1)

55-55: Minor style improvements for readability.

Lines 55 and 73 currently use "need to go to" and "just need to go to" respectively. Consider using more concise, direct language (e.g., "navigate to" or "go to") for a more professional tone in technical documentation.

Example improvements:

  • Line 55: "To do that, go to Multisite Ultimate > Products > Edit."
  • Line 73: "To configure this, go to Multisite Ultimate > Checkout Forms."

Also applies to: 73-73

.wiki/how-to-get-custom-development-help-from-codeable.md (1)

3-3: Use more formal language in documentation.

The word "awesome" is informal for professional documentation. Consider replacing it with a more formal alternative such as "significant" or "valuable."

Apply this diff to improve language formality:

-Sometimes, we really need some awesome customization to make our network flows exactly the way we want. If that's what you are looking for, we recommend [Codeable](https://codeable.io/partners/wpultimo/?ref=7wHwE), a place where you can find experienced developers with Multisite Ultimate expertise.
+Sometimes, we really need significant customization to make our network flows exactly the way we want. If that's what you are looking for, we recommend [Codeable](https://codeable.io/partners/wpultimo/?ref=7wHwE), a place where you can find experienced developers with Multisite Ultimate expertise.
.wiki/what-is-wordpress-multisite.md (1)

59-59: Concise the verbose phrasing in the note.

The branding change is correct, but the sentence can be more concise by replacing "In order to allow" with "To allow".

-_Note: as you can see, inviting someone to your network and granting them super admin status gives this user total control over your network. As an example, other super admins can even remove your super admin status, effectively locking you out of your own network admin panel. In order to allow Multisite Ultimate customers to have granular control over what additional super admins can do, we have an add-on called Support Agents. This add-on allows you to create yet another kind of user – an agent – with only the permissions they might need to perform their tasks on the network._
+_Note: as you can see, inviting someone to your network and granting them super admin status gives this user total control over your network. As an example, other super admins can even remove your super admin status, effectively locking you out of your own network admin panel. To allow Multisite Ultimate customers to have granular control over what additional super admins can do, we have an add-on called Support Agents. This add-on allows you to create yet another kind of user – an agent – with only the permissions they might need to perform their tasks on the network._
.wiki/tax-handling.md (1)

11-11: Reduce repetitive phrasing for clarity.

The phrase "you need to go" is already used in line 11. Consider rewording for variety: "To enable it, navigate to Multisite Ultimate > Settings > Taxes and toggle the Enable Taxes setting." or similar.

.wiki/basic-concepts.md (1)

3-3: Improve conciseness in two passages per static analysis hints.

Static analysis suggests two minor wordiness improvements:

  1. Line 3: "a lot of new words and phrases to take on board" — consider using more concise phrasing such as "many new terms and concepts to learn."
  2. Line 103: "especially if used in conjunction with services" — consider replacing "in conjunction with" with simply "with" for brevity.

These are minor improvements for readability.

Apply this diff for optional refinements:

-For a new WordPress Multisite user and someone who just started using Multisite Ultimate, there can be a lot of new words and phrases to take on board at first.
+For a new WordPress Multisite user and someone who just started using Multisite Ultimate, there can be many new words and phrases to learn at first.

-[Multisite Ultimate webhooks](https://help.wpultimo.com/article/337-integrating-wp-ultimo-with-zapier-using-webhooks) open infinite possibilities, allowing network admins to do all sorts of crazy-but-useful integrations, especially if used in conjunction with services like _Zapier and IFTTT_.
+[Multisite Ultimate webhooks](https://help.wpultimo.com/article/337-integrating-wp-ultimo-with-zapier-using-webhooks) open infinite possibilities, allowing network admins to do all sorts of crazy-but-useful integrations, especially if used with services like _Zapier and IFTTT_.

Also applies to: 103-103

.wiki/using-wp-ultimo-affiliatewp-integration-to-create-your-own-referral-program-for-wp-ultimo.md (2)

5-7: Remove redundant phrase for clarity.

The phrase "First of all" is redundant. Remove it to make the guidance more concise.

Apply this diff:

-First of all, you **need to have** [**AffiliateWP**]
+You **need to have** [**AffiliateWP**]

17-17: Remove emphasis formatting from image caption.

This line functions as an image caption but is incorrectly formatted with emphasis (_). Remove the emphasis marks to treat it as plain explanatory text, which is more semantically appropriate for a caption.

Apply this diff:

-_Check the Multisite Ultimate box at the bottom and save_
+Check the Multisite Ultimate box at the bottom and save
inc/admin-pages/class-about-admin-page.php (1)

98-101: Menu label text still uses old “Multisite WaaS” name

The textdomain is updated, but the visible label string still says “Multisite WaaS”. If the public branding is now “Multisite Ultimate”, consider updating the label:

-        return __('Multisite WaaS', 'multisite-ultimate');
+        return __('Multisite Ultimate', 'multisite-ultimate');
inc/admin-pages/class-broadcast-list-admin-page.php (2)

179-179: Optional: improve pluralization for customer count

The string __('%s customer(s) targeted.', 'multisite-ultimate') works but isn’t ideal for i18n plural rules. Consider _n() to give translators proper singular/plural forms:

- $description = sprintf(__('%s customer(s) targeted.', 'multisite-ultimate'), $customer_count);
+ $description = sprintf(
+   _n('%s customer targeted.', '%s customers targeted.', $customer_count, 'multisite-ultimate'),
+   $customer_count
+ );

265-428: Modal field textdomain updates look consistent; minor copy nit

All field titles, descriptions, tooltips, placeholders, and button labels in the broadcast modal correctly switched to the multisite-ultimate textdomain with no logic changes, which keeps behavior intact and aligns with the rebranding.

One small copy nit you may want to fix while you’re here:

  • Line 324: “Search for a product..” has a double period. Consider changing to a single period:
- 'placeholder'       => __('Search for a product..', 'multisite-ultimate'),
+ 'placeholder'       => __('Search for a product.', 'multisite-ultimate'),
.wiki/why-is-wp-ultimo-no-longer-sold-at-codecanyon.md (2)

9-9: Consider reducing exclamation marks for a more professional tone.

The paragraph contains five exclamation marks, which may seem excessive for this context. Reducing them slightly would improve readability and professionalism.

Suggested revision:

-**OMG! I bought a license on CodeCanyon! What will happen to me?**
+**I bought a license on CodeCanyon. What will happen to me?**

Or alternatively, keeping some enthusiasm:

-**OMG! I bought a license on CodeCanyon! What will happen to me?**
+**I bought a license on CodeCanyon — what happens next?**

11-11: Consider a more concise phrasing.

"in order to avoid purchases there" can be more concise. The current phrasing is slightly awkward.

Suggested fix:

-You will find Multisite Ultimate on the platform though, at an unusually high price, in order to avoid purchases there. The product will not be removed from CodeCanyon until the transition process is fully completed.
+You will find Multisite Ultimate on CodeCanyon at an unusually high price to discourage purchases there. The product will not be removed until the transition is complete.
inc/admin-pages/class-broadcast-edit-admin-page.php (3)

360-360: Product targets description and loading text – consider pluralization improvement

The domain changes to multisite-ultimate for both '%s customer(s) targeted.' and 'Loading...' are correct.

If you touch this again, consider using _n() for proper pluralization, e.g.:

$description = sprintf(
    _n(
        '%s customer targeted.',
        '%s customers targeted.',
        $customer_count,
        'multisite-ultimate'
    ),
    $customer_count
);

This will give better i18n support for singular/plural forms.

Also applies to: 374-374


390-390: Page title and menu title strings OK; capitalization tweak optional

Both get_title() and get_menu_title() now correctly use the multisite-ultimate domain. If you want to align with common WordPress UI copy, you could optionally change 'Add new Broadcast' to 'Add New Broadcast' for consistent capitalization with core screens.

Also applies to: 401-401


423-433: Labels array textdomain migration looks good; minor copy polish optional

All labels (edit_label, add_new_label, updated_message, etc.) are correctly switched to multisite-ultimate and use __() in the right context.

If you care about English copy polish, you might later change:

  • 'Broadcast updated with success!''Broadcast updated successfully.'

but that’s stylistic and not required for functionality.

.wiki/re-ordering-the-wp-ultimo-country-list.md (1)

1-21: Confirm whether wp-ultimo text domain is still correct

The heading branding update to “Multisite Ultimate” is fine. However, the example still uses the wp-ultimo text domain:

$countries = array_merge(array( 'DE' => __('Germany', 'wp-ultimo'), ), $countries);

If the plugin’s actual text domain has been changed to something else in this PR (e.g., multisite-ultimate), this snippet should be updated for consistency; if the runtime domain is still wp-ultimo, leaving it as-is is correct.

.wiki/managing-shareable-links-for-plans.md (1)

3-3: Copy is correct; optional minor tightening

The new branding reference is correct. For slightly tighter prose you could change:

“In order to do this, go to any of your plans' edit pages…”

to:

“To do this, go to any of your plans’ edit pages…”

Totally optional.

.wiki/setting-up-manual-payments-v2.md (1)

3-12: Branding/path look good; consider fixing nearby grammar

  • Line 3 correctly reflects “Multisite Ultimate version 2.x”.
  • Line 11’s “Multisite Ultimate > Settings > Payments” path is clear and aligned with the new name.

While you’re touching this section, you might want to fix the existing sentence on line 5:

“Manual payments are a way for to you offer other payment methods should Stripe or PayPal is not available…”

Suggested rewrite:

“Manual payments let you offer other payment methods when Stripe or PayPal is not available for your users.”

Optional, but improves readability.

inc/admin-pages/class-base-admin-page.php (1)

7-8: Base admin page branding/text-domain updates are safe

The references to “Multisite Ultimate” in docblocks and branding helpers (add_branding, brand_header, brand_footer) are consistent, and the documentation title link now uses the multisite-ultimate text domain. Runtime behavior of menu/page registration and hooks is unchanged; just ensure your translation catalog includes the updated 'Documentation' string under the new domain.

Also applies to: 199-199, 475-476, 512-513, 528-529, 602-603, 629-630

data/translatable-strings.php (1)

13-20: Time-unit translatable strings correctly moved to new text domain

The entries for day/days, week/weeks, month/months, and year/years now use the multisite-ultimate domain while preserving keys and source text. This matches the broader i18n migration in the PR; just ensure your .po/.mo files are regenerated for the new domain.

.wiki/how-to-configure-domain-mapping-v2.md (1)

3-6: Domain mapping doc branding is correct; consider minor wording/markdown polish

The updates correctly rebrand the feature to Multisite Ultimate and adjust paths like Multisite Ultimate > Settings > Domain Mapping, Multisite Ultimate > Domains, and Multisite Ultimate > Products, which keeps the instructions in sync with the new UI.

A few optional cleanups while you’re here:

  • In “Multisite Ultimate will check if the domain has SSL or not…”, consider “check whether the domain has SSL or not” for smoother wording.
  • The provider list uses mixed capitalization: Runcloud, Gridpane, Cpanel. You may want to standardize these to the vendors’ preferred names (e.g., “RunCloud”, “GridPane”, “cPanel”) for a more polished doc.
  • Several images are included as ![](…) with no alt text; adding brief alt text would improve accessibility and satisfy MD045.
  • The intro line uses “see**_ this article .”; removing the extra space between the emphasized text and the link bracket will address the MD039 “spaces inside link text” warning.

None of these affect behavior but would tighten up the documentation quality.

Also applies to: 9-16, 19-24, 45-46, 55-56, 77-78, 85-86, 95-96, 115-120

.wiki/touring-the-admin-panel.md (1)

15-83: Add descriptive alt text for images to improve accessibility.

All screenshots use empty alt text (![](…)), which triggers MD045 and makes the content less accessible. Consider adding short, meaningful alt text (e.g., “Screenshot of the Multisite Ultimate Dashboard”) for each image.

.wiki/editing-plugins-and-themes-meta-information-with-wp-ultimo-plugin-and-theme-manager.md (2)

15-15: Add alt text to image for accessibility.

Line 15 is missing alt text. Update the markdown to include descriptive alt text for better accessibility.

-![](https://wp-ultimo-space.fra1.cdn.digitaloceanspaces.com/hs-file-4zDOF0uomh.png)
+![Global options in Multisite Ultimate Plugin and Theme Manager settings](https://wp-ultimo-space.fra1.cdn.digitaloceanspaces.com/hs-file-4zDOF0uomh.png)

17-17: Use proper heading markdown instead of emphasis.

Line 17 uses italics for what appears to be a caption. Consider using a proper markdown heading or adjusting the formatting.

-_Here you'll find the global options added by Multisite Ultimate: Plugin and Theme Manager_
+**Note:** Here you'll find the global options added by Multisite Ultimate: Plugin and Theme Manager
.wiki/getting-started-with-the-payfast-payment-gateway.md (2)

3-3: Standardize hyphenation of "add-on" terminology.

Inconsistent usage of "addon" (line 3) and "add-on" (lines 5, 9) throughout the document. Standardize on "add-on" (with hyphen) for consistency with the rest of the documentation.

-PayFast is a leading online payment processor for businesses in South Africa. It's dedicated to helping online merchants grow by making transactions seamless and secure. As per Multisite Ultimate user's request, we decided to create an addon that will make integration with PayFast possible.
+PayFast is a leading online payment processor for businesses in South Africa. It's dedicated to helping online merchants grow by making transactions seamless and secure. As per Multisite Ultimate user's request, we decided to create an add-on that will make integration with PayFast possible.

Also applies to: 5-5, 9-9


35-35: Add alt text to image for accessibility.

Line 35 is missing alt text. Update the markdown to include a description of the image.

-![](https://wp-ultimo-space.fra1.cdn.digitaloceanspaces.com/hs-file-KW0WnsxHIW.png)You can simply copy and paste the credential and populate the details on your Multisite Ultimate settings.
+![PayFast account dashboard showing merchant credentials](https://wp-ultimo-space.fra1.cdn.digitaloceanspaces.com/hs-file-KW0WnsxHIW.png)
+
+You can simply copy and paste the credential and populate the details on your Multisite Ultimate settings.
.wiki/the-wp-ultimo-register-api-endpoint.md (1)

1-1: Register endpoint docs branding update is fine; consider minor Markdown cleanup

The branding changes to “Multisite Ultimate” read consistently and keep the endpoint description intact. If you want to satisfy markdownlint, you can optionally:

  • Remove the leading spaces before the * bullets under “In this call, 4 processes will be executed…” so the list isn’t indented.
  • Wrap the bare URL in angle brackets (e.g., <https://yoursite.com/wp-json/wu/v2/register>) or convert it to a markdown link.

These are cosmetic and not required for correctness.

Also applies to: 3-3, 9-15, 28-29, 45-45, 71-71, 82-82

.wiki/error-installing-the-sunrise-file.md (1)

5-5: Sunrise error article rebranding looks good; optional image alt‑text improvement

The references to Multisite Ultimate correctly replace the old name without changing the troubleshooting steps. For better accessibility (and to satisfy markdownlint), you may want to add descriptive alt text to the images (e.g., ![Setup wizard sunrise step screenshot](...)) instead of leaving the brackets empty.

Also applies to: 9-9, 17-17

.wiki/getting-paid-v2.md (1)

79-79: Optional: Improve writing style for formal documentation.

Line 79 uses "pretty much," which is marked as informal by style guidelines. Consider rephrasing to strengthen the documentation tone.

Suggested change: "The steps to install the GoCardless add-on are similar to the WooCommerce add-on." (Remove "pretty much the same as" and replace with "similar to")

.wiki/activating-wp-ultimo-language-selector.md (1)

5-5: Minor style improvement: Consider a synonym for "gives".

The phrase "add-ons your license gives you access to" reads slightly awkwardly. Consider using "provides" for better clarity:

-After [activating your license](1677127280-how-do-i-activate-wp-ultimo-using-my-license-key.html) you will be able to install Multisite Ultimate add-ons your license gives you access to.
+After [activating your license](1677127280-how-do-i-activate-wp-ultimo-using-my-license-key.html) you will be able to install Multisite Ultimate add-ons your license provides access to.

URL is the **endpoint or the destination** to which Multisite Ultimate will send the **payload or data**. This is the application that will receive the data.

Zapier is the most common solution that user uses to make integration with 3rd party application easier. Without a platform like Zapier, you will need to manually create a custom function that will catch the data and process it. See this article on [how to use WP Multisite WaaS webhook with Zapier.](https://help.wpultimo.com/article/348-integrating-wp-ultimo-with-zapier)
Zapier is the most common solution that user uses to make integration with 3rd party application easier. Without a platform like Zapier, you will need to manually create a custom function that will catch the data and process it. See this article on [how to use Multisite Ultimate webhook with Zapier.](https://help.wpultimo.com/article/348-integrating-wp-ultimo-with-zapier)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix grammar and spelling issues flagged by static analysis.

Line 21: Change "3rd party" to "3rd-party" (use hyphen to join words).
Line 51: Change "your receive" to "you receive" (spelling correction).

Apply this diff to fix the issues:

- Without a platform like Zapier, you will need to manually create a custom function that will catch the data and process it. See this article on [how to use Multisite Ultimate webhook with Zapier.](https://help.wpultimo.com/article/348-integrating-wp-ultimo-with-zapier)
+ Without a platform like Zapier, you will need to manually create a custom function that will catch the data and process it. See this article on [how to use Multisite Ultimate webhook with Zapier.](https://help.wpultimo.com/article/348-integrating-wp-ultimo-with-zapier)

- This is the basic principle of how webhook and endpoints work. If you are to create a custom endpoint, you will need to create a custom function to process the data your receive from Multisite Ultimate.
+ This is the basic principle of how webhook and endpoints work. If you are to create a custom endpoint, you will need to create a custom function to process the data you receive from Multisite Ultimate.

Additionally, in the first diff section above, update:

- Without a platform like Zapier, you will need to manually create a custom function that will catch the data and process it. See this article on [how to use Multisite Ultimate webhook with Zapier.](https://help.wpultimo.com/article/348-integrating-wp-ultimo-with-zapier)
+ Without a platform like Zapier, you will need to manually create a custom function that will catch the data and process it. See this article on [how to use Multisite Ultimate webhook with 3rd-party Zapier integration.](https://help.wpultimo.com/article/348-integrating-wp-ultimo-with-zapier)

Or more simply for line 21:

- Zapier is the most common solution that user uses to make integration with 3rd party application easier.
+ Zapier is the most common solution that user uses to make integration with 3rd-party application easier.

Also applies to: 51-51

🧰 Tools
🪛 LanguageTool

[grammar] ~21-~21: Use a hyphen to join words.
Context: ...t user uses to make integration with 3rd party application easier. Without a plat...

(QB_NEW_EN_HYPHEN)

🤖 Prompt for AI Agents
In .wiki/a-first-look-on-webhooks-v2.md around lines 21 and 51, fix two
static-analysis grammar issues: on line 21 replace "3rd party" with the
hyphenated form "3rd-party" (or simply use "third-party" if preferred for
clarity) so the compound adjective is correct, and on line 51 correct the typo
"your receive" to "you receive".

Go to your WP Multisite WaaS settings page and then, on the menu on the left, click the _Add-ons_ label.
Go to your Multisite Ultimate settings page and then, on the menu on the left, click the _Add-ons_ label.

![](https://wp-ultimo-space.fra1.cdn.digitaloceanspaces.com/hs-file-rzVqJCVpY1.png)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Add alt text to all images for accessibility.

Similar to the previous file, multiple images are missing descriptive alt text. This impacts accessibility and should be fixed consistently across the documentation.

Apply alt text to all images using clear, descriptive text that conveys the content of each screenshot:

-![](https://wp-ultimo-space.fra1.cdn.digitaloceanspaces.com/hs-file-rzVqJCVpY1.png)
+![Add-ons page showing available Multisite Ultimate add-ons including Language Selector](https://wp-ultimo-space.fra1.cdn.digitaloceanspaces.com/hs-file-rzVqJCVpY1.png)

Ensure each image has meaningful alt text describing its content.

Also applies to: 19-19, 23-23, 29-29, 35-35, 41-41, 45-45

🧰 Tools
🪛 markdownlint-cli2 (0.18.1)

9-9: Images should have alternate text (alt text)

(MD045, no-alt-text)

🤖 Prompt for AI Agents
.wiki/activating-wp-ultimo-language-selector.md around lines 9, 19, 23, 29, 35,
41, and 45: several image tags lack alt text which harms accessibility; update
each markdown image to include a concise, descriptive alt attribute (e.g.,
![Language selector dropdown showing options](/path/to/image.png)) that
summarizes the screenshot content and purpose, ensuring each alt string
describes what a sighted user would see and the relevant UI element or action
shown.

Go to **WP Multisite WaaS > Products > Select a plan**. You should see the **Click to copy Shareable Link** button at the the top of the page. This is the link you can use to pre-select this specific plan on your checkout form.
Go to **Multisite Ultimate > Products > Select a plan**. You should see the **Click to copy Shareable Link** button at the the top of the page. This is the link you can use to pre-select this specific plan on your checkout form.

![](https://wp-ultimo-space.fra1.cdn.digitaloceanspaces.com/hs-file-bUyOlBEfNj.png)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Add missing alt text to image.

The embedded image at line 129 lacks descriptive alt text, which is important for accessibility and SEO. Add a concise description of the image content.

Apply this diff to add alt text:

-![](https://wp-ultimo-space.fra1.cdn.digitaloceanspaces.com/hs-file-bUyOlBEfNj.png)
+![Click to copy Shareable Link button at the top of the Products page](https://wp-ultimo-space.fra1.cdn.digitaloceanspaces.com/hs-file-bUyOlBEfNj.png)
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
![](https://wp-ultimo-space.fra1.cdn.digitaloceanspaces.com/hs-file-bUyOlBEfNj.png)
![Click to copy Shareable Link button at the top of the Products page](https://wp-ultimo-space.fra1.cdn.digitaloceanspaces.com/hs-file-bUyOlBEfNj.png)
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)

129-129: Images should have alternate text (alt text)

(MD045, no-alt-text)

🤖 Prompt for AI Agents
.wiki/customizing-your-registration-form.md around line 129: the Markdown image
has no alt text
(![](https://wp-ultimo-space.fra1.cdn.digitaloceanspaces.com/hs-file-bUyOlBEfNj.png));
replace it with a concise descriptive alt attribute by changing to the format
![Short descriptive text](URL) on that line (keep it under ~125 characters,
avoid redundant phrases like "image of", and describe the salient
content/context for accessibility and SEO).

### VAT Validation

When VAT support is enabled, WP Multisite WaaS will add an additional field to the checkout form, bellow the billing address field. The field will only show up for customers located in the EU.
When VAT support is enabled, Multisite Ultimate will add an additional field to the checkout form, bellow the billing address field. The field will only show up for customers located in the EU.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix spelling error and remove redundant adjective.

Line 103 has a spelling error ("bellow" → "below") and contains a redundant adjective ("additional"). Apply this diff:

-When VAT support is enabled, Multisite Ultimate will add an additional field to the checkout form, bellow the billing address field. The field will only show up for customers located in the EU.
+When VAT support is enabled, Multisite Ultimate will add a field to the checkout form below the billing address field. The field will only show up for customers located in the EU.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
When VAT support is enabled, Multisite Ultimate will add an additional field to the checkout form, bellow the billing address field. The field will only show up for customers located in the EU.
When VAT support is enabled, Multisite Ultimate will add a field to the checkout form below the billing address field. The field will only show up for customers located in the EU.
🧰 Tools
🪛 LanguageTool

[style] ~103-~103: This phrase might be redundant. Consider either removing or replacing the adjective ‘additional’.
Context: ...ort is enabled, Multisite Ultimate will add an additional field to the checkout form, bellow the billin...

(ADD_AN_ADDITIONAL)


[grammar] ~103-~103: Ensure spelling is correct
Context: ... additional field to the checkout form, bellow the billing address field. The field wi...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

🤖 Prompt for AI Agents
.wiki/tax-handling.md around line 103: fix the spelling mistake "bellow" →
"below" and remove the redundant adjective "additional" so the sentence reads
that Multisite Ultimate will add a field to the checkout form below the billing
address field; update the line accordingly.

### NO! Our plugin price IS NOT $100,000!

[We changed our pricing model](https://wpultimo.com/wp-ultimo-1-9-0-is-out-domain-reseller-integration-with-opensrs-new-pricing-structure-and-development-roadmap-strategy-for-2-0-features/), therefore WP Multisite WaaS will not be sold at CodeCanyon anymore.
[We changed our pricing model](https://wpultimo.com/wp-ultimo-1-9-0-is-out-domain-reseller-integration-with-opensrs-new-pricing-structure-and-development-roadmap-strategy-for-2-0-features/), therefore Multisite Ultimate will not be sold at CodeCanyon anymore.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🌐 Web query:

wpultimo.com current domain 2025

💡 Result:

wpultimo.com is offline (site unreachable) — reported offline and abandoned around April 16, 2025. Community fork/continuation projects (e.g., Multisite Ultimate / WP Multisite WaaS) are available. [1][2][3]

Sources:

  • Report: "WP Ultimo Offline?" — Apr 16, 2025 (domain offline). [1]
  • Fork / community coverage (Multisite Ultimate / WP Multisite WaaS). [2]
  • Direct attempt to open https://wpultimo.com returned a fetch/timeout error. [3]

🌐 Web query:

multisiteultimate.com official website

💡 Result:

The official site for Multisite Ultimate is https://multisiteultimate.com. [1]
Project source/code and releases are on GitHub: https://github.com/Multisite-Ultimate/ultimate-multisite. [2]
A closely related project/site (Ultimate Multisite) is at ultimatemultisite.com. [3]

Sources:
[1] multisiteultimate.com — official site.
[2] GitHub repository for Ultimate Multisite.
[3] ultimatemultisite.com — related project/site.


🌐 Web query:

"wpultimo.com" vs "multisiteultimate.com" domain

💡 Result:

Short answer: multisiteultimate.com is an active, open‑source project offering a fork/replacement for WP Ultimo; wpultimo.com appears to be offline/repurposed (site content not the original WP Ultimo product). [1][2]

Sources:

  • Multisite Ultimate project and announcement. [1]
  • wpultimo.com (site content/status shows unrelated/repurposed content). [2]

Update domain reference from offline wpultimo.com to active multisiteultimate.com.

The wpultimo.com domain is offline and unreachable (offline as of April 2025). Multisite Ultimate's official website is multisiteultimate.com. Update the link to reference the current domain, though verify the exact URL path exists on the new domain before merging.

-[We changed our pricing model](https://wpultimo.com/wp-ultimo-1-9-0-is-out-domain-reseller-integration-with-opensrs-new-pricing-structure-and-development-roadmap-strategy-for-2-0-features/), therefore Multisite Ultimate will not be sold at CodeCanyon anymore.
+[We changed our pricing model](https://multisiteultimate.com/wp-ultimo-1-9-0-is-out-domain-reseller-integration-with-opensrs-new-pricing-structure-and-development-roadmap-strategy-for-2-0-features/), therefore Multisite Ultimate will not be sold at CodeCanyon anymore.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
[We changed our pricing model](https://wpultimo.com/wp-ultimo-1-9-0-is-out-domain-reseller-integration-with-opensrs-new-pricing-structure-and-development-roadmap-strategy-for-2-0-features/), therefore Multisite Ultimate will not be sold at CodeCanyon anymore.
[We changed our pricing model](https://multisiteultimate.com/wp-ultimo-1-9-0-is-out-domain-reseller-integration-with-opensrs-new-pricing-structure-and-development-roadmap-strategy-for-2-0-features/), therefore Multisite Ultimate will not be sold at CodeCanyon anymore.
🤖 Prompt for AI Agents
.wiki/why-is-wp-ultimo-no-longer-sold-at-codecanyon.md around line 5: the link
currently points to the offline wpultimo.com domain; update the href to the
active multisiteultimate.com domain by replacing the domain portion of the URL
with multisiteultimate.com and ensure the path
(/wp-ultimo-1-9-0-is-out-domain-reseller-integration-with-opensrs-new-pricing-structure-and-development-roadmap-strategy-for-2-0-features/)
exists on multisiteultimate.com before merging; if that exact path does not
exist, link to the appropriate corresponding article on multisiteultimate.com or
fall back to the multisiteultimate.com homepage and adjust the anchor text if
needed.

- Fixed: Many deprecation notices.
- Improved: Load order of many filters.
- Improved: Add Proper Build script
- Improved: Use emojii flags
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix spelling error in changelog.

Line 180 contains a spelling error: "emojii" should be "emoji".

-- Improved: Use emojii flags
+- Improved: Use emoji flags
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- Improved: Use emojii flags
- Improved: Use emoji flags
🧰 Tools
🪛 LanguageTool

[grammar] ~180-~180: Ensure spelling is correct
Context: ...Add Proper Build script - Improved: Use emojii flags - Fixed: i18n deprecation notice ...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[grammar] ~180-~180: Ensure spelling is correct
Context: ...uild script - Improved: Use emojii flags - Fixed: i18n deprecation notice for trans...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

🤖 Prompt for AI Agents
In README.md around line 180, the changelog entry contains a typo: replace
"emojii" with the correct spelling "emoji". Edit that line so it reads
"Improved: Use emoji flags" (or equivalent) and save; run a quick proofread of
nearby changelog entries for similar typos.

@github-actions
Copy link

github-actions bot commented Dec 9, 2025

🔨 Build Complete - Ready for Testing!

📦 Download Build Artifact (Recommended)

Download the zip build, upload to WordPress and test:

🌐 Test in WordPress Playground (Very Experimental)

Click the link below to instantly test this PR in your browser - no installation needed!
Playground support for multisite is very limitied, hopefully it will get better in the future.

🚀 Launch in Playground

Login credentials: admin / password

@Ultimate-Multisite Ultimate-Multisite deleted a comment from github-actions bot Dec 9, 2025
@Ultimate-Multisite Ultimate-Multisite deleted a comment from github-actions bot Dec 9, 2025
@superdav42
Copy link
Collaborator Author

This is ready to test now

@github-actions
Copy link

🔨 Build Complete - Ready for Testing!

📦 Download Build Artifact (Recommended)

Download the zip build, upload to WordPress and test:

🌐 Test in WordPress Playground (Very Experimental)

Click the link below to instantly test this PR in your browser - no installation needed!
Playground support for multisite is very limitied, hopefully it will get better in the future.

🚀 Launch in Playground

Login credentials: admin / password

@superdav42 superdav42 merged commit f693fd1 into main Dec 23, 2025
12 checks passed
@superdav42 superdav42 deleted the run-cloud branch December 23, 2025 21:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

RunCloud Integration probably broken

1 participant