Skip to content

Feat/permission management feature unlock#248

Open
myself-alif wants to merge 4 commits into
developfrom
feat/permission-management-feature-unlock
Open

Feat/permission management feature unlock#248
myself-alif wants to merge 4 commits into
developfrom
feat/permission-management-feature-unlock

Conversation

@myself-alif
Copy link
Copy Markdown
Contributor

@myself-alif myself-alif commented Oct 7, 2025

url change and popup ui issue fix (Popup was not showing correctly)

Summary by CodeRabbit

  • Style

    • Improved dropdown and permission containers to prevent clipping (overflow visible) for better menu/popover visibility.
    • Adjusted badge placement to absolute positioning for clearer alignment.
    • Minor UI toast behavior tweak for section creation (no confirm button on success).
  • Chores

    • Updated Upgrade button link to pricing with tracking parameters.
    • Widespread formatting/packaging updates across assets, build files, and documentation (whitespace/line-ending normalization).

Review Change Stack

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Oct 7, 2025

Walkthrough

UI-only updates: dropdown and container overflow switched to visible in MultiSelectBox and PermissionSettings; Badge in MultiSelectBox now uses absolute positioning with right offset; UpgradeButton’s default href updated to a pricing URL. No functional logic or public API changes reported.

Changes

Cohort / File(s) Summary
Dropdown and badge positioning adjustments
src/components/MultiSelectBox.js
Changed dropdown container from overflow-auto to overflow-visible; Badge now passed position='absolute' with right='60px'.
Permission settings overflow tweak
src/components/ProPreviews/PermissionSettings.js
Main wrapper overflow updated from hidden to visible; no structural or API changes.
Upgrade link target update
src/components/ProPreviews/common/UpgradeButton.js
Default href (when no children) updated to pricing URL with UTM params; other behavior unchanged.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested labels

QA Approved

Suggested reviewers

  • iftakharul-islam
  • arifulhoque7

Poem

I leapt through menus, light as air,
Let overflow be visible—no clipping snare.
A badge scoots right, all snug and spry,
Upgrade link hops to pricing high.
With twitching ears and CSS delight,
This bun ships UI, crisp and tight. 🐰✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The PR title 'Feat/permission management feature unlock' is vague and doesn't clearly describe the actual changes in the changeset, which primarily involve UI fixes, URL updates, and extensive code formatting/whitespace normalization. Revise the title to specifically describe the main changes, such as 'Fix popup UI overflow and update upgrade button URL' or similar to better reflect the substantive modifications.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed Docstring coverage is 92.68% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/permission-management-feature-unlock
⚔️ Resolve merge conflicts
  • Resolve merge conflict in branch feat/permission-management-feature-unlock

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.54)

PHP Fatal error: Uncaught Error: Undefined constant "ABSPATH" in /includes/functions.php:307
Stack trace:
#0 /includes/functions.php(281): wedocs_is_plugin_active()
#1 /vendor/composer/autoload_real.php(39): require('...')
#2 /vendor/composer/autoload_real.php(43): {closure}()
#3 /vendor/autoload.php(25): ComposerAutoloaderInited770908f56295e8d5bfd9fa6753451c::getLoader()
#4 phar:///usr/bin/phpstan/bin/phpstan(46): require_once('...')
#5 phar:///usr/bin/phpstan/bin/phpstan(107): _PHPStan_c161e9ff7{closure}()
#6 /usr/bin/phpstan(7): require('...')
#7 {main}
thrown in /includes/functions.php on line 307
Fatal error: Uncaught Error: Undefined constant "ABSPATH" in /includes/functions.php:307
Stack trace:
#0 /includes/functions.php(281): wedocs_is_plugin_active()
#1 /vendor/composer/autoload_real.php(39): require('...')
#2 /vendor/composer/autoload_real.php(43): {closure}()
#3 /vendor/autoload.php(25): ComposerAutoloaderInited770908f56295e8d5bfd9fa6753451c::getLoader()
#4 phar:///usr/bin/phpstan/bin/phpstan(46): require_once('...')
#5 phar:///usr/bin/phpstan/bin/phpstan(107): _PHPStan_c161e9ff7{closure}()
#6 /usr/bin/phpstan(7): require('...')
#7 {main}
thrown in /includes/functions.php on line 307


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.

@sapayth sapayth force-pushed the feat/permission-management-feature-unlock branch from 3d22523 to d6e9097 Compare May 4, 2026 20:20
@sapayth sapayth force-pushed the feat/permission-management-feature-unlock branch from 302c61b to b4cc066 Compare May 17, 2026 18:51
@arifulhoque7 arifulhoque7 force-pushed the feat/permission-management-feature-unlock branch from 42861d5 to 0777628 Compare May 18, 2026 10:27
Copy link
Copy Markdown
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: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@includes/Ajax.php`:
- Around line 230-233: The hide_pro_notice() method updates user meta without
nonce or capability checks; add a CSRF-safe validation by calling
check_ajax_referer with a named nonce action (e.g. the same token your front-end
sends) at the start of hide_pro_notice(), verify the current user
(get_current_user_id) and optionally capability (current_user_can) before
calling update_user_meta, and return a proper JSON error/success
(wp_send_json_error/wp_send_json_success) and exit when verification fails or
after success; ensure the AJAX action that enqueues the nonce on the client uses
the same nonce action name used in check_ajax_referer.

In `@includes/API/API.php`:
- Around line 784-785: The guard in get_doc() is validating against
$this->post_type instead of the fetched post’s actual type, allowing non-'docs'
posts to slip through; update the condition to check the fetched post’s type
(e.g. use get_post_type($post) or $post->post_type) so the line becomes: if (
empty($post) || empty($post->ID) || 'docs' !== get_post_type($post) ) { return
$error; } thereby ensuring get_doc() only proceeds for posts of type 'docs'.
- Around line 937-947: The REST callback handle_hide_promotion_notice uses
wp_send_json_success/wp_send_json_error which exits and bypasses REST flow;
change it to return proper REST responses (use rest_ensure_response() or a
WP_REST_Response instance) instead of calling
wp_send_json_success/wp_send_json_error, returning a success response (with
message and 200) when update_option succeeds and returning a WP_Error or
rest_ensure_response with appropriate error data and HTTP status (e.g., 400/500)
when the param is missing or update fails; update references in
handle_hide_promotion_notice so no wp_send_json_* calls remain.

In `@includes/Assets.php`:
- Around line 52-56: The wp_register_style calls register 'wedocs-app-style' and
'wedocs-blocks-style' with the version passed as the 3rd parameter; swap the
arguments so the dependencies array is the 3rd parameter and the version string
is the 4th. Locate the wp_register_style invocations in Assets.php (handles
'wedocs-app-style' and 'wedocs-blocks-style') and change the parameter order to:
handle, $assets_url... path, dependencies array (e.g. $react_dependencies or
$block_dependencies), then the version (e.g. $react_dependencies['version'] or
$block_dependencies['version']). Ensure no other calls to wp_register_style use
the wrong parameter order.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: c9f9c267-9033-438c-a95f-763c9220bf25

📥 Commits

Reviewing files that changed from the base of the PR and between 3d22523 and 0777628.

⛔ Files ignored due to path filters (2)
  • assets/build/5f4138884ca3828fa2ff.svg is excluded by !**/*.svg
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (92)
  • .gitignore
  • .svnignore
  • appsero.json
  • assets/build/block.asset.php
  • assets/build/blocks/DocsGrid/block.json
  • assets/build/blocks/DocsGrid/render.php
  • assets/build/frontend.asset.php
  • assets/build/frontend.css
  • assets/build/index.asset.php
  • assets/build/index.css
  • assets/build/index.js
  • assets/build/print.asset.php
  • assets/build/print.css
  • assets/build/store.asset.php
  • assets/build/style-block.css
  • assets/js/frontend.js
  • includes/API/API.php
  • includes/API/SettingsApi.php
  • includes/Admin.php
  • includes/Admin/Admin.php
  • includes/Admin/Docs_List_Table.php
  • includes/Admin/Menu.php
  • includes/Admin/Promotion.php
  • includes/Ajax.php
  • includes/Assets.php
  • includes/Capability.php
  • includes/Frontend.php
  • includes/Post_Types.php
  • includes/Shortcode.php
  • includes/Upgrader/Abstracts/UpgradeHandler.php
  • includes/Upgrader/Upgrades/Upgrades.php
  • includes/Upgrader/Upgrades/V_2_0_2.php
  • includes/functions.php
  • languages/wedocs.pot
  • package.json
  • postcss.config.js
  • readme.md
  • readme.txt
  • src/assets/less/frontend.less
  • src/assets/less/responsive.less
  • src/blocks/DocsGrid/StyleControls.js
  • src/blocks/DocsGrid/block.json
  • src/blocks/DocsGrid/edit.js
  • src/blocks/DocsGrid/index.js
  • src/blocks/DocsGrid/render.php
  • src/blocks/DocsGrid/save.js
  • src/blocks/DocsGrid/style.scss
  • src/blocks/Search/edit.js
  • src/blocks/Search/index.js
  • src/blocks/Search/save.js
  • src/blocks/index.js
  • src/components/AddArticleModal.js
  • src/components/AddDocModal.js
  • src/components/AddSectionModal.js
  • src/components/App.js
  • src/components/ConfirmationModal.js
  • src/components/DocActions.js
  • src/components/DocListing/ArticleChildrens.js
  • src/components/DocListing/DocSections.js
  • src/components/DocListing/QuickEditModal.js
  • src/components/DocListing/SectionArticles.js
  • src/components/DraggableDocs.js
  • src/components/Migrations/Modals/MigrationContentMappingModal.js
  • src/components/Migrations/Modals/MigrationProgressModal.js
  • src/components/Migrations/Modals/MigrationSelectionModal.js
  • src/components/MultiSelectBox.js
  • src/components/PermissionSettingsDemo/PrivacySettings.js
  • src/components/ProPreviews/PermissionSettings.js
  • src/components/ProPreviews/common/UpgradeButton.js
  • src/components/ProPreviews/common/UpgradePopup.js
  • src/components/ProPreviews/common/UpgradeTooltip.js
  • src/components/ProPreviews/index.js
  • src/components/RestrictionModal.js
  • src/components/Settings/GeneralSettings.js
  • src/components/Settings/Menu.js
  • src/components/Settings/index.js
  • src/data/docs/actions.js
  • src/data/docs/controls.js
  • src/data/docs/resolvers.js
  • src/data/docs/selectors.js
  • src/data/settings/controls.js
  • src/data/settings/reducer.js
  • src/index.js
  • src/utils/helper.js
  • tailwind.config.js
  • templates/content-modal.php
  • templates/doc-search-form.php
  • templates/docs-sidebar.php
  • templates/shortcode.php
  • templates/single-docs.php
  • webpack.config.js
  • wedocs.php
✅ Files skipped from review due to trivial changes (33)
  • appsero.json
  • .gitignore
  • .svnignore
  • assets/build/frontend.asset.php
  • assets/build/store.asset.php
  • src/blocks/DocsGrid/index.js
  • assets/build/print.asset.php
  • assets/build/block.asset.php
  • assets/build/index.asset.php
  • includes/Admin/Menu.php
  • postcss.config.js
  • includes/API/SettingsApi.php
  • includes/Upgrader/Upgrades/Upgrades.php
  • includes/Upgrader/Abstracts/UpgradeHandler.php
  • src/blocks/index.js
  • includes/Admin/Docs_List_Table.php
  • src/blocks/DocsGrid/save.js
  • src/blocks/Search/index.js
  • includes/Post_Types.php
  • src/blocks/DocsGrid/block.json
  • package.json
  • src/assets/less/responsive.less
  • includes/Admin/Promotion.php
  • assets/build/blocks/DocsGrid/block.json
  • includes/Shortcode.php
  • src/blocks/Search/save.js
  • assets/js/frontend.js
  • src/components/AddDocModal.js
  • src/components/AddArticleModal.js
  • includes/Admin/Admin.php
  • src/blocks/DocsGrid/edit.js
  • src/blocks/DocsGrid/style.scss
  • src/blocks/Search/edit.js

Comment thread includes/Ajax.php
Comment on lines +230 to +233
public function hide_pro_notice() {
$user_id = get_current_user_id();
update_user_meta( $user_id, 'wedocs_hide_pro_notice', true );
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Add nonce validation in hide_pro_notice() to prevent CSRF.

This action mutates user state (Line 232) but has no nonce check, and it is exposed via AJAX hooks.

Suggested fix
     public function hide_pro_notice() {
+        check_ajax_referer( 'wedocs-admin-nonce' );
+
         $user_id = get_current_user_id();
+        if ( ! $user_id ) {
+            wp_send_json_error( __( 'Unauthorized.', 'wedocs' ), 401 );
+        }
         update_user_meta( $user_id, 'wedocs_hide_pro_notice', true );
+        wp_send_json_success();
     }
📝 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
public function hide_pro_notice() {
$user_id = get_current_user_id();
update_user_meta( $user_id, 'wedocs_hide_pro_notice', true );
}
public function hide_pro_notice() {
check_ajax_referer( 'wedocs-admin-nonce' );
$user_id = get_current_user_id();
if ( ! $user_id ) {
wp_send_json_error( __( 'Unauthorized.', 'wedocs' ), 401 );
}
update_user_meta( $user_id, 'wedocs_hide_pro_notice', true );
wp_send_json_success();
}
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@includes/Ajax.php` around lines 230 - 233, The hide_pro_notice() method
updates user meta without nonce or capability checks; add a CSRF-safe validation
by calling check_ajax_referer with a named nonce action (e.g. the same token
your front-end sends) at the start of hide_pro_notice(), verify the current user
(get_current_user_id) and optionally capability (current_user_can) before
calling update_user_meta, and return a proper JSON error/success
(wp_send_json_error/wp_send_json_success) and exit when verification fails or
after success; ensure the AJAX action that enqueues the nonce on the client uses
the same nonce action name used in check_ajax_referer.

Comment thread includes/API/API.php
Comment on lines +784 to +785
if ( empty( $post ) || empty( $post->ID ) || 'docs' !== $this->post_type ) {
return $error;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Fix post type validation in get_doc().

Line 784 checks $this->post_type instead of the fetched post’s type, so non-docs posts can pass this guard.

Suggested fix
-        if ( empty( $post ) || empty( $post->ID ) || 'docs' !== $this->post_type ) {
+        if ( empty( $post ) || empty( $post->ID ) || 'docs' !== $post->post_type ) {
             return $error;
         }
📝 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
if ( empty( $post ) || empty( $post->ID ) || 'docs' !== $this->post_type ) {
return $error;
if ( empty( $post ) || empty( $post->ID ) || 'docs' !== $post->post_type ) {
return $error;
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@includes/API/API.php` around lines 784 - 785, The guard in get_doc() is
validating against $this->post_type instead of the fetched post’s actual type,
allowing non-'docs' posts to slip through; update the condition to check the
fetched post’s type (e.g. use get_post_type($post) or $post->post_type) so the
line becomes: if ( empty($post) || empty($post->ID) || 'docs' !==
get_post_type($post) ) { return $error; } thereby ensuring get_doc() only
proceeds for posts of type 'docs'.

Comment thread includes/API/API.php
Comment on lines +937 to +947
public function handle_hide_promotion_notice( $request ) {
if ( ! empty( $request->get_param('option_name') ) ) {
$offer_key = sanitize_text_field( wp_unslash( $request->get_param('option_name') ) );
update_option( $offer_key, 'hide' );
wp_send_json_success( 'Successfully dismissed.' );
}
wp_send_json_error( 'Faild to dismiss.' );
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Return a REST response instead of wp_send_json_* in REST route callbacks.

Lines 943 and 946 use wp_send_json_*, which exits execution and bypasses standard REST response flow.

Suggested fix
     public function handle_hide_promotion_notice( $request ) {
         if ( ! empty( $request->get_param('option_name') ) ) {
 			$offer_key = sanitize_text_field( wp_unslash( $request->get_param('option_name') ) );

 			update_option( $offer_key, 'hide' );

-            wp_send_json_success( 'Successfully dismissed.' );
+            return rest_ensure_response( [ 'success' => true, 'message' => 'Successfully dismissed.' ] );
 		}

-        wp_send_json_error( 'Faild to dismiss.' );
+        return new WP_Error( 'wedocs_promo_dismiss_failed', __( 'Failed to dismiss.', 'wedocs' ), [ 'status' => 400 ] );
     }
📝 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
public function handle_hide_promotion_notice( $request ) {
if ( ! empty( $request->get_param('option_name') ) ) {
$offer_key = sanitize_text_field( wp_unslash( $request->get_param('option_name') ) );
update_option( $offer_key, 'hide' );
wp_send_json_success( 'Successfully dismissed.' );
}
wp_send_json_error( 'Faild to dismiss.' );
}
public function handle_hide_promotion_notice( $request ) {
if ( ! empty( $request->get_param('option_name') ) ) {
$offer_key = sanitize_text_field( wp_unslash( $request->get_param('option_name') ) );
update_option( $offer_key, 'hide' );
return rest_ensure_response( [ 'success' => true, 'message' => 'Successfully dismissed.' ] );
}
return new WP_Error( 'wedocs_promo_dismiss_failed', __( 'Failed to dismiss.', 'wedocs' ), [ 'status' => 400 ] );
}
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@includes/API/API.php` around lines 937 - 947, The REST callback
handle_hide_promotion_notice uses wp_send_json_success/wp_send_json_error which
exits and bypasses REST flow; change it to return proper REST responses (use
rest_ensure_response() or a WP_REST_Response instance) instead of calling
wp_send_json_success/wp_send_json_error, returning a success response (with
message and 200) when update_option succeeds and returning a WP_Error or
rest_ensure_response with appropriate error data and HTTP status (e.g., 400/500)
when the param is missing or update fails; update references in
handle_hide_promotion_notice so no wp_send_json_* calls remain.

Comment thread includes/Assets.php
Comment on lines +52 to +56
wp_register_style(
'wedocs-app-style',
$assets_url . '/build/index.css',
$react_dependencies['version'],
);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🌐 Web query:

What is the exact WordPress function signature for wp_register_style(), and which parameter index corresponds to $deps and $ver?

💡 Result:

The exact WordPress function signature for wp_register_style is: function wp_register_style( $handle, $src, $deps = array, $ver = false, $media = 'all') [1][2][3] Regarding the parameter indices: - The $deps parameter corresponds to the 3rd index (index 2, if using 0-based indexing) [1][2][3]. - The $ver parameter corresponds to the 4th index (index 3, if using 0-based indexing) [1][2][3].

Citations:


🏁 Script executed:

# First, let's locate and check the file structure
find . -name "Assets.php" -path "*/includes/*" | head -20

Repository: weDevsOfficial/wedocs-plugin

Length of output: 94


🏁 Script executed:

# Read the file to verify the issues at lines 52-56 and 79-83
cat -n ./includes/Assets.php | sed -n '50,85p'

Repository: weDevsOfficial/wedocs-plugin

Length of output: 1620


Fix wp_register_style() argument order: dependencies array must be 3rd parameter, version as 4th.

Lines 55 and 82 pass $react_dependencies['version'] and $block_dependencies['version'] as the 3rd parameter, but wp_register_style() expects the dependencies array there. The version string should be the 4th parameter.

Suggested fix
             wp_register_style(
                 'wedocs-app-style',
                 $assets_url . '/build/index.css',
-                $react_dependencies['version'],
+                array(),
+                $react_dependencies['version']
             );
...
             wp_register_style(
                 'wedocs-block-style',
                 $assets_url . '/build/style-block.css',
-                $block_dependencies['version']
+                array(),
+                $block_dependencies['version']
             );
📝 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
wp_register_style(
'wedocs-app-style',
$assets_url . '/build/index.css',
$react_dependencies['version'],
);
wp_register_style(
'wedocs-app-style',
$assets_url . '/build/index.css',
array(),
$react_dependencies['version']
);
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@includes/Assets.php` around lines 52 - 56, The wp_register_style calls
register 'wedocs-app-style' and 'wedocs-blocks-style' with the version passed as
the 3rd parameter; swap the arguments so the dependencies array is the 3rd
parameter and the version string is the 4th. Locate the wp_register_style
invocations in Assets.php (handles 'wedocs-app-style' and 'wedocs-blocks-style')
and change the parameter order to: handle, $assets_url... path, dependencies
array (e.g. $react_dependencies or $block_dependencies), then the version (e.g.
$react_dependencies['version'] or $block_dependencies['version']). Ensure no
other calls to wp_register_style use the wrong parameter order.

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.

2 participants