=== Ultimate Member Widgets for Elementor – Login Form, Register Form & User Directory ===
Contributors: userelements
Tags: ultimate member elementor, elementor login form, elementor user directory, elementor member directory, elementor register form
Requires at least: 6.0
Tested up to: 6.9
Stable tag: 2.6
Requires PHP: 8.0
Requires Plugins: elementor
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Style your Ultimate Member login page, register form, and member directory inside Elementor. Drag, drop, style. No code required.

== Description ==

= THE MISSING ELEMENTOR ADDON FOR ULTIMATE MEMBER SITES. STYLE YOUR LOGIN PAGE, REGISTER FORM, AND MEMBER DIRECTORY — DRAG AND DROP. =

Ultimate Member is installed on over 200,000 WordPress sites. Every one of them has the same problem: the default login page, register form, and member directory are completely unstyled. They clash with your theme, they look like placeholder pages, and there is no built-in way to fix them inside Elementor.

This plugin fixes that.

Drag the Login Form Styler onto any Elementor page. Style every field, button, label, and background visually. Publish. Done — in under five minutes. Then do the same for your register form, your password reset page, and your member directory.

No CSS. No shortcodes. No child theme. No developer.

[Live Demos](https://demo.userelements.com/) | [Go Pro](https://userelements.com/ultimate-member-elementor/) | [Documentation](https://userelements.com/create-user-directory-elementor/)

---

= 🎨 STYLE YOUR ULTIMATE MEMBER FORMS IN ELEMENTOR — FREE =

Your login page is the first authenticated experience every member has on your site. It should look like your brand.

**UM Login Form Styler** — Drag the Ultimate Member login form into any Elementor page and style it completely. Input borders, button colors, background, typography, padding, shadow — every element, every state (normal, focus, hover). Switch between Login and Register form types from the same widget. Supports any UM form. Works with free Elementor.

**UM Register Form Styler** — Full visual control over your Ultimate Member register form. Style field labels, input fields, section headers, and the submit button. The form lives inside your Elementor template and inherits your design system automatically.

**UM Password Reset Styler** — Style the password reset page to match your login and register forms for a seamless, professional authentication flow. A consistent auth experience reduces drop-off and builds member trust.

---

= 📋 BUILD A MEMBER DIRECTORY IN ELEMENTOR — FREE =

**UM User Directory Grid** — Display your Ultimate Member users in a responsive card or list layout. AJAX live search updates results as visitors type. Filter by user role or any custom UM field without a page reload. Three pagination modes: numbered pages, Load More, or Infinite Scroll. 1 to 6 columns, fully responsive. [Demo](https://demo.userelements.com/user-directory-grid/)

**WordPress User Directory** — No Ultimate Member required. Display any registered WordPress user, filter by role, show any meta field. Built for team pages, staff directories, and contributor lists on any site.

**User Profile Flip Cards** — Hover-to-flip cards that reveal a second set of profile fields on the back. A memorable layout for team pages and member showcases. [Demo](https://demo.userelements.com/users-flipbox/)

---

= 👤 PROFILE FIELD WIDGETS — FREE =

**User Avatar Display** — Standalone avatar widget for profile page templates. Full control over border, radius, size, and CSS filters.

**User Meta Fields** — Display any combination of Ultimate Member profile fields on the currently-viewed member's page. Supports text, URL, phone, image, and file field types. [Demo](https://demo.userelements.com/users-meta-fields/)

**User Profile Name** — Output the profile user's name in any format (display name, first name, last name, full name, username, or nickname) with full Elementor typography and color controls. [Demo](https://demo.userelements.com/user-profile-name/)

---

= ✅ FREE FEATURE HIGHLIGHTS =

* **Style UM login, register, and password reset forms** — no CSS file, no shortcode, no child theme required
* **AJAX live search** — directory results filter as visitors type, with no page reload
* **Role filters and custom field filters** — filter by any Ultimate Member field (up to 2 filter fields in the free version)
* **Card grid and list layouts** — full Elementor style controls on every element of every card
* **Three pagination modes** — numbered pages, Load More button, or Infinite Scroll
* **Show only approved Ultimate Member users**, or display all registered WordPress users
* **Order by any field** — display name, registration date, last login, post count, or any custom meta field
* **1 to 6 responsive columns** — adapts to every screen size automatically
* **Full Elementor styling** — colors, typography, spacing, border radius, and box shadow on every widget
* **Works with free Elementor** — Elementor Pro is not required
* **Works without Ultimate Member** — the WordPress User Directory widget runs on any WordPress site

---

= 🔒 PRO — THE COMPLETE TOOLKIT FOR SERIOUS MEMBER SITES =

Unlock the widgets agencies and power users demand:

* **[User Carousel (Swiper)](https://demo.userelements.com/user-carousel-or-slider/)** — Touch-friendly slider for featured members, alumni spotlights, or testimonials. Auto-play, loop, and fully styled inside Elementor.
* **[Sortable User Table](https://demo.userelements.com/sortable-user-table/)** — DataTable-powered directory with clickable column sorting, global AJAX search, and one-click CSV export. The go-to widget for HR teams, associations, and membership admins.
* **[Advanced Filter Widget](https://demo.userelements.com/users-list-with-filter-buttons/)** — Standalone filter panel with unlimited fields, dropdowns, checkboxes, and radio buttons. Place it in a sidebar or above the directory — anywhere on the page.
* **[Multi-Column & Zigzag Layouts](https://demo.userelements.com/zigzag-user-list/)** — 2-column, 3-column, and alternating zigzag directory layouts for editorial-style member pages. [2-col demo](https://demo.userelements.com/2-column-user-list/) | [3-col demo](https://demo.userelements.com/3-column-user-list/)
* **[Live Search Widget](https://demo.userelements.com/user-search-bar/)** — Dedicated AJAX-powered user search you can place anywhere on the page, independent of the directory grid.
* **[Faceted Search Directory](https://demo.userelements.com/ultimate-member-faceted-search/)** — Multi-criteria live filtering with real-time AJAX refresh. Built for complex communities that need to filter by multiple fields simultaneously.
* **Account Page Styler** — Style the Ultimate Member account page (General, Password, Privacy, and Notifications tabs) directly inside Elementor. Your members visit this page every time they manage their profile.
* **Profile Page Builder (9 widgets)** — Replace the default Ultimate Member profile template with a fully custom Elementor layout. Cover photo, header, bio, meta fields, social links, action bar, completion bar, custom tabs, and profile body — each a separate Elementor widget. The only plugin that gives you full drag-and-drop control over the UM profile page.
* **Native UM Directory Styler** — Full Elementor visual control over the built-in Ultimate Member member directory shortcode.
* **Per-field visibility rules** — Control exactly who sees sensitive fields like email, phone, and location — configurable per widget instance.

[See all Pro features and live demos →](https://userelements.com/ultimate-member-elementor/)

---

**Pricing**

| Plan | Price |
|---|---|
| Free | $0 — unlimited sites |
| Pro | $45/year |

---

= 😍 WHAT USERS SAY =

> "I have been seeking sortable user data tables for quite some time. Finally found it." – ★★★★★ *@nikotor · [WordPress.org](https://wordpress.org/support/topic/sortable-user-table/)*

> "I am new to Elementor and WP and this plugin has been a real help. Takes a lot of guesswork and effort out of the process." – ★★★★★ *@hawkeeye · [WordPress.org](https://wordpress.org/support/topic/sortable-user-table/)*

*[Read all reviews →](https://wordpress.org/support/plugin/ultimate-member-widgets-for-elementor/reviews/?filter=5)*

---

= 🔑 WHO IS THIS FOR? =

* **Membership site owners** who want a login page that matches their brand — not the plain Ultimate Member default
* **Community builders** creating searchable, filterable member directories in Elementor
* **Agencies** building client sites on Ultimate Member who need full visual control without touching code
* **Schools and associations** that need staff directories, faculty listings, or member rosters
* **Marketplaces** where visitors need to browse, search, and filter service providers or contributors

== Installation ==

1. Install and activate [Elementor](https://wordpress.org/plugins/elementor/) — the free version is sufficient.
2. Install and activate [Ultimate Member](https://wordpress.org/plugins/ultimate-member/) for UM-powered widgets. The WordPress User Directory widget works without it.
3. Install this plugin via **Plugins → Add New** or upload the zip file manually.
4. Activate the plugin.
5. Open any page in the Elementor editor. Find the login, register, and directory widgets under the **UM Profile Forms** and **User Directory** panel categories.

== Frequently Asked Questions ==

= How do I style the Ultimate Member login page in Elementor? =

Install the plugin, open your login page in the Elementor editor, and search for "UM Login Form Styler" in the widget panel. Drag it onto the canvas. The live Ultimate Member login form appears inside the editor. Use the Style tab to change colors, fonts, input borders, button styles, background, padding, and spacing. Every change updates in real time. Publish when done. No CSS, no child theme, no shortcodes required.

= Can I style the Ultimate Member register form in Elementor? =

Yes. The **UM Register Form Styler** is included free. Drag it onto any Elementor page, choose which UM registration form to display, and style every element visually: field labels, inputs, section headers, submit button, and error messages. Both Login and Register form types are available within the same widget — switch with one click from the Content tab.

= Is the password reset page styler free? =

Yes. The Login Styler, Register Styler, and Password Reset Styler are all included in the free version. Your entire Ultimate Member authentication flow — login, register, and password reset — can be fully styled in Elementor at no cost.

= Do I need Elementor Pro? =

No. All widgets — free and Pro — work with the free version of Elementor.

= Does this work without Ultimate Member? =

Ultimate Member is recommended but not required. The **WordPress User Directory** widget works on any WordPress site. The UM login/register/password stylers, UM directory grid, flip cards, avatar, meta fields, and profile name widgets require Ultimate Member to be active.

= Can I filter my member directory by custom Ultimate Member fields? =

Yes. The free User Directory Grid supports AJAX meta field filters — visitors can narrow results without a page reload. The free version supports up to 2 filter fields. Pro adds a standalone **Advanced Filter Widget** with unlimited fields, dropdowns, checkboxes, and radio buttons.

= Can I show only approved Ultimate Member users in the directory? =

Yes. A "Show Only Approved Users" toggle is available in the widget's Content tab. When enabled, the directory shows only users whose Ultimate Member account status is approved.

= Can I sort the member directory by last login, registration date, or a custom field? =

Yes. Sort options include display name, first name, last name, registration date, last login, post count, user ID, and any custom meta field — all configurable from the Elementor widget panel without touching code.

= Can I build a custom Ultimate Member profile page in Elementor? =

Yes, with Pro. The **Profile Page Builder** provides 9 dedicated Elementor widgets that replace the default UM profile template: cover photo, header, bio, meta fields, social links, action bar, completion bar, custom tabs, and profile body. This is the only plugin that gives you full Elementor control over the Ultimate Member profile page layout.

= Can I display members in a table with sortable columns? =

Yes, with Pro. The **Sortable User Table** lets visitors click any column header to sort by name, date, role, or any custom field. It also includes a global search bar and one-click CSV export of the filtered member list.

= Can I add a member carousel or slider to my site? =

Yes, with Pro. The **User Carousel** uses Swiper.js for smooth, touch-friendly sliding. Ideal for homepage featured members, testimonials, and alumni spotlights.

= Is this compatible with caching plugins like WP Rocket or LiteSpeed Cache? =

Yes. If you experience issues with JS minification, exclude `wp-content/plugins/ultimate-member-widgets-for-elementor/assets/js/` from your caching plugin's JavaScript processing.

= Does this work on WordPress multisite? =

Yes. Each site in the network operates independently with its own user query scope.

= Where can I see live demos of every widget? =

Visit [demo.userelements.com](https://demo.userelements.com/) — all 10 widget demos are live and interactive. No login required.

== Screenshots ==

1. UM Login Form Styler — dark mode / glassmorphism style built inside the Elementor editor
2. UM Register Form Styler — custom-branded registration form styled in Elementor
3. UM Password Reset Styler — matching styled password reset page completing the auth flow
4. Member Directory — card grid layout with AJAX live search and meta field filters
5. User Profile Flip Cards — front and back views with configurable custom meta fields
6. Pro: Sortable User Table with clickable column sort, AJAX search, and CSV export
7. Pro: User Carousel — touch-friendly Swiper slider for featured members
8. Pro: Profile Page Builder — custom Ultimate Member profile page built in Elementor
9. Pro: Account Page Styler — styled Ultimate Member account tabs inside Elementor

== Changelog ==

= 2.6 =
* Added: UM Login Form Styler widget — style the Ultimate Member login form visually in Elementor.
* Added: UM Register Form Styler widget — drag-and-drop register form styling with full visual control.
* Added: UM Password Reset Styler widget — complete your styled authentication flow in Elementor.
* Added: Pro widget placeholders in the Elementor editor — Free users see upgrade prompt cards for locked Pro widgets directly on the Elementor canvas.

= 2.5 =
* Security: AJAX filter endpoints now verify nonce before any file I/O or class loading. Unauthenticated requests can no longer probe server-side structure.
* Security: meta_query items from the widget_settings payload are now sanitized (key, value, compare allowlist) before reaching WP_User_Query.
* Security: per_page in the UM AJAX handler clamped to a maximum of 100.
* Security: debug output (stack trace, file paths, line numbers) gated behind WP_DEBUG on all error paths.
* Security: email address removed from default public meta fields in WP User List handler.
* Fixed: sort order control now works for all options — ID, first/last name, last login, post count, email.
* Fixed: box shadow control referenced a non-existent Controls_Manager constant. Replaced with Group_Control_Box_Shadow.
* Fixed: admin notice dismiss nonce mismatch caused every dismiss click to silently fail.
* Fixed: PHP fatal when Elementor is inactive — two admin notice callbacks were referenced but never defined.
* Fixed: deprecated Elementor\Scheme_Color and Scheme_Typography imports in the flip card widget caused PHP warnings on Elementor 3.x.
* Fixed: widget category sometimes did not appear in the Elementor panel due to hook registration timing.
* Fixed: meta key selector ran an uncached table scan on every Elementor editor load. Results now cached for one hour.
* Fixed: Pro layout values stored in the database caused user cards to disappear. They now fall back to the card layout.
* Fixed: serialized meta LIKE query produced incorrect SQL patterns.
* Fixed: filter key sanitization used sanitize_text_field instead of sanitize_key in the UM AJAX handler.
* Fixed: widget order_by and order settings not passed to the query engine, so the panel sort setting was ignored.
* Added: Table and Carousel layout options visible in the free widget with an upgrade tooltip on click.
* Added: meta cache primed after user queries to avoid N+1 meta fetches when rendering cards.
* Added: query result transients invalidated automatically on user profile, meta, or role changes.
* Improved: user-processing loop unified into shared static methods across both AJAX handlers.
* Improved: pro upgrade notice scoped to admin-only roles and screens.
* Improved: admin notice CSS moved from inline style block to an external stylesheet.

For older entries see changelog.txt included in the plugin.

== Upgrade Notice ==

= 2.6 =
New free widgets: UM Login Form Styler, Register Form Styler, and Password Reset Styler. Style your entire Ultimate Member authentication flow inside Elementor — drag, drop, publish. No code.

= 2.5 =
Security release. Fixes unauthenticated data exposure on AJAX endpoints, unsanitized meta_query input, and nonce bypass on class-loading path. Upgrade immediately.