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
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
- Run WordPress 7.1 with Popup Maker (and at least one Popup Maker addon, e.g. a Pro/LMS/Ecommerce add-on) active.
- Visit Plugins in wp-admin.
- 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">.
- 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.
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 withtd.plugin-titleas the required ancestor: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:i.e. a
<th>, not a<td>(previously it was a<td>). Since the compiled CSS selector requires atd.plugin-titleancestor, 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.phpthat inserts the<img class="pum-plugin-icon">is unaffected, since it uses a plain.plugin-titleclass selector (tag-agnostic) to find the insertion point.Screen capture
Site information
Popup Maker version: 1.24.0
WordPress version: 7.1
PHP version: 8.2.27
Expected behavior
The
.pum-plugin-iconlogo and.pum-toggle-iconcollapse/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-iconis unstyled, because the CSS rules never match (see root cause above).Steps to reproduce
<th scope="row" class="plugin-title column-primary">instead of<td class="plugin-title">..pum-plugin-iconlogo and.pum-toggle-icontoggle 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.cssanddist/packages/admin-marketing-rtl.css: replaced everytd.plugin-titleoccurrence 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+):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.