Skip to content

Popup Maker logo icon too large on plugins admin page under WordPress 7.1 #1376

Description

@marklchaves

Describe the bug

On WordPress 7.1, the Popup Maker branding icon (.pum-plugin-icon) and the addon collapse/expand toggle icon (.pum-toggle-icon) on the Plugins screen render unstyled — no size, spacing, opacity, or hover transitions are applied.

Root cause: dist/packages/admin-marketing.css (and the RTL variant) scopes these rules with td.plugin-title as the required ancestor:

.plugins tr[data-plugin].pum-addon-plugin td.plugin-title .pum-plugin-icon,
.plugins tr[data-plugin].pum-main-plugin td.plugin-title .pum-plugin-icon { ... }

WordPress 7.1 shipped an accessibility rewrite of admin list tables that changes which cell is the row header. In wp-admin/includes/class-wp-plugins-list-table.php, the plugin name/title cell is now rendered as:

echo "<th scope='row' class='plugin-title column-primary' ...><strong>$plugin_name</strong>";

i.e. a <th>, not a <td> (previously it was a <td>). Since the compiled CSS selector requires a td.plugin-title ancestor, it no longer matches anything in the DOM on WP 7.1, so none of the icon styling rules apply. This is a pure CSS selector/DOM mismatch — nothing is overriding the rule with higher specificity; the selector simply stops matching.

The JS in classes/Controllers/Admin/WP/PluginsPage.php that inserts the <img class="pum-plugin-icon"> is unaffected, since it uses a plain .plugin-title class selector (tag-agnostic) to find the insertion point.

Screen capture

Image

Site information

Popup Maker version: 1.24.0

WordPress version: 7.1

PHP version: 8.2.27

Expected behavior

The .pum-plugin-icon logo and .pum-toggle-icon collapse/expand arrow on the Plugins screen should be sized, positioned, and styled the same as on WP 6.x (icon ~1.375rem square, faded opacity with hover/active transitions, toggle icon styled as a plain arrow, addon rows indented, etc.).

Current behavior

On WP 7.1, the branding <img class="pum-plugin-icon"> renders at native/unstyled size with no opacity/hover transition, and .pum-toggle-icon is unstyled, because the CSS rules never match (see root cause above).

Steps to reproduce

  1. Run WordPress 7.1 with Popup Maker (and at least one Popup Maker addon, e.g. a Pro/LMS/Ecommerce add-on) active.
  2. Visit Plugins in wp-admin.
  3. Inspect the Popup Maker / addon rows' plugin-title cell — note it is now rendered as <th scope="row" class="plugin-title column-primary"> instead of <td class="plugin-title">.
  4. Observe that the injected .pum-plugin-icon logo and .pum-toggle-icon toggle arrow have none of the intended CSS applied (no sizing, opacity, hover scale, etc.), unlike on WP 6.x where the same markup renders styled.

Errors

None (no JS/PHP errors — this is a silent CSS selector mismatch, not an exception).

Additional context

Fix applied locally (for testing) in dist/packages/admin-marketing.css and dist/packages/admin-marketing-rtl.css: replaced every td.plugin-title occurrence with the tag-agnostic .plugin-title, so the selectors match regardless of whether WP core renders that cell as a <td> (pre-7.1) or a <th> (7.1+):

.plugins tr[data-plugin].pum-addon-plugin .plugin-title .pum-plugin-icon,
.plugins tr[data-plugin].pum-main-plugin .plugin-title .pum-plugin-icon { ... }

This is only a patch to the compiled dist CSS — the equivalent change should be made in the source SCSS in the build pipeline so it isn't lost on the next npm run build. Happy to open a PR with this change if useful.

Related WordPress core change: Accessibility Improvements in WordPress 7.1 — admin list tables now use the title/name column as the row header (<th scope="row">) instead of the checkbox column, closing a long-standing screen-reader bug.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions