ENHANCEMENT: Improve admin UX for Email Confirmation status#61
Open
flintfromthebasement wants to merge 1 commit into
Open
Conversation
Addresses issue strangerstudios#60 by adding multiple UI improvements: 1. Added dedicated "Email Confirmation" panel to Edit Member screen (PMPro 3.0+) - Shows confirmation status, email address, and which levels require confirmation - Provides admin actions: Validate Now, Resend Email, Require Re-confirmation - Only appears for members with at least one confirmation-required level 2. Added "Email Confirmed" status column to Members List and Users list - Shows Confirmed/Pending/— status with color-coded badges - Only displays status for members whose levels require confirmation - Provides at-a-glance visibility without needing to click into row actions 3. Fixed row action behavior - Row actions now only appear for users whose levels actually require confirmation - "Validated" status is now properly localized - Fixed copy-pasted error message from "Could not reset sessions" to "Could not validate user" 4. Added CSS styling for status badges in tables and panels Technical notes: - Panel class extends PMPro_Member_Edit_Panel - Reuses existing helpers: pmproec_isEmailConfirmationLevel(), pmproec_resend_confirmation_email(), pmproec_generateNewKey() - Respects pmproec_validate_user_cap filter for all actions - Admin CSS loads only on relevant pages Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #60
Summary
This PR significantly improves the admin UX for email confirmation status by adding a dedicated Edit Member panel, status columns on list views, and cleaning up existing row action behavior.
Changes
1. Edit Member Panel (PMPro 3.0+)
Added a dedicated "Email Confirmation" panel to the Edit Member screen that shows:
The panel only appears when at least one of the member's levels requires confirmation, so it's contextually relevant rather than always present.
Files:
includes/class-pmpro-member-edit-panel-email-confirmation.php2. Status Columns
Added "Email Confirmed" column to both:
pmpro_manage_memberslist_columns/pmpro_manage_memberslist_custom_column)manage_users_columns/manage_users_custom_column)The column shows:
This provides at-a-glance visibility without needing to click into row actions. The row actions are kept as a quick-access secondary option.
3. Row Action Cleanup
Fixed issues from #60:
pmproec_isEmailConfirmationLevel(). If none do, no actions appear.'Validated'toesc_html__( 'Validated', 'pmpro-email-confirmation' ).4. CSS Styling
Added
css/admin.csswith color-coded badge styles:CSS loads only on relevant admin pages (users.php, pmpro-memberslist, pmpro-member).
5. Version Bump
Updated from 0.9 to 1.0 with full changelog entry in
readme.txt.Technical Notes
PMPro_Member_Edit_Panel(PMPro 3.0+ API)pmproec_isEmailConfirmationLevel(),pmproec_resend_confirmation_email(),pmproec_generateNewKey()pmproec_validate_user_capfilter (defaultedit_users) for all admin actionsesc_html__()/esc_attr__()Testing Steps
Edit Member panel:
Status columns:
Row actions:
Edge cases:
Screenshots
(Would include screenshots here if I had a test environment set up)
Notes
pmproec_generateNewKey()functionCo-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com