{"id":324995,"date":"2026-06-16T01:55:47","date_gmt":"2026-06-16T01:55:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/faceted-search-for-ultimate-member\/"},"modified":"2026-06-16T01:55:37","modified_gmt":"2026-06-16T01:55:37","slug":"faceted-search-for-ultimate-member","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/faceted-search-for-ultimate-member\/","author":20447401,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.2","stable_tag":"1.0.2","tested":"7.0","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Faceted Search for Ultimate Member","header_author":"userelements","header_description":"Adds a faceted search sidebar to any Ultimate Member Member Directory. Configure under UM > Member Directory > Add\/Edit.","assets_banners_color":"","last_updated":"2026-06-16 01:55:37","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.userelements.com\/ultimate-member-faceted-search\/","header_author_uri":"https:\/\/www.userelements.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":24,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.2":{"tag":"1.0.2","author":"userelements","date":"2026-06-16 01:55:37"}},"upgrade_notice":{"1.0.2":"<p>All facet UI types are now included in the free plugin. Update to enable radio, dropdown, tag cloud, and range filters.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3573876,"resolution":"1","location":"assets","locale":"","width":1349,"height":820},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3573876,"resolution":"2","location":"assets","locale":"","width":1427,"height":669}},"screenshots":{"1":"Faceted search sidebar on a member directory with live filter counts","2":"Facet configuration metabox on the Member Directory edit screen"}},"plugin_section":[],"plugin_tags":[28913,2755,15070,14513,36308],"plugin_category":[],"plugin_contributors":[210940],"plugin_business_model":[],"class_list":["post-324995","plugin","type-plugin","status-publish","hentry","plugin_tags-faceted-search","plugin_tags-filters","plugin_tags-member-directory","plugin_tags-ultimate-member","plugin_tags-user-search","plugin_contributors-userelements","plugin_committers-userelements"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/faceted-search-for-ultimate-member.svg","icon_2x":false,"generated":true},"screenshots":[{"src":"https:\/\/ps.w.org\/faceted-search-for-ultimate-member\/assets\/screenshot-1.png?rev=3573876","caption":"Faceted search sidebar on a member directory with live filter counts"},{"src":"https:\/\/ps.w.org\/faceted-search-for-ultimate-member\/assets\/screenshot-2.png?rev=3573876","caption":"Facet configuration metabox on the Member Directory edit screen"}],"raw_content":"<!--section=description-->\n<p><strong>Faceted Search for Ultimate Member<\/strong> adds a configurable filter sidebar to any Ultimate Member member directory. Visitors combine filters on profile fields \u2014 country, industry, skills, job title, or any custom UM field \u2014 and see matching members update instantly over AJAX.<\/p>\n\n<p>The plugin hooks into Ultimate Member's native member directory (<code>um_get_members<\/code>), so member cards, pagination, sorting, and keyword search keep working as before. Facet counts refresh in real time as filters are applied, showing how many members match each option.<\/p>\n\n<h4>Key features<\/h4>\n\n<ul>\n<li><strong>Per-directory setup<\/strong> \u2014 enable faceted search on each Member Directory individually.<\/li>\n<li><strong>Six filter UI types<\/strong> \u2014 checkbox list, radio list, dropdown, tag cloud, numeric range, and date range.<\/li>\n<li><strong>Live facet counts<\/strong> \u2014 option labels show member totals (e.g. United States (24)) that update with each selection.<\/li>\n<li><strong>AJAX filtering<\/strong> \u2014 no full page reload; results update through UM's member directory.<\/li>\n<li><strong>Multiple layouts<\/strong> \u2014 sidebar left, sidebar right, or horizontal top bar.<\/li>\n<li><strong>Active filter chips<\/strong> \u2014 visitors see and remove active filters at a glance.<\/li>\n<li><strong>URL state persistence<\/strong> \u2014 shareable filter URLs when enabled.<\/li>\n<li><strong>Mobile-friendly<\/strong> \u2014 optional collapsible facet panels on small screens.<\/li>\n<li><strong>Role-based facet visibility<\/strong> \u2014 show different filters to different UM roles.<\/li>\n<li><strong>Sortable facet values<\/strong> \u2014 by count (high\/low) or alphabetically (A\u2013Z \/ Z\u2013A).<\/li>\n<li><strong>Meta key autocomplete<\/strong> \u2014 admin facet builder suggests UM profile field keys.<\/li>\n<li><strong>Smart field detection<\/strong> \u2014 maps UM field types (text, select, radio, checkbox, multiselect, date, number, and more) to the correct filter logic.<\/li>\n<li><strong>Security by default<\/strong> \u2014 passwords, 2FA tokens, file URLs, and other sensitive meta keys are never offered as facets.<\/li>\n<\/ul>\n\n<h4>Who is this for?<\/h4>\n\n<ul>\n<li><strong>Membership communities<\/strong> \u2014 help members find others by location, interests, or expertise.<\/li>\n<li><strong>Professional directories<\/strong> \u2014 filter consultants, freelancers, or staff by specialty or availability.<\/li>\n<li><strong>Alumni and association sites<\/strong> \u2014 browse graduates or members by class year, region, or industry.<\/li>\n<li><strong>Niche marketplaces<\/strong> \u2014 narrow vendor or service listings on UM-powered directories.<\/li>\n<li><strong>Any WordPress site using Ultimate Member directories<\/strong> \u2014 turn a long member list into a browsable, filterable experience.<\/li>\n<\/ul>\n\n<h4>Front-end experience<\/h4>\n\n<ul>\n<li>Combine multiple facet filters at once (AND logic \u2014 members must match all active filters).<\/li>\n<li>Use facet filters together with Ultimate Member's built-in directory search and sort.<\/li>\n<li>Clear individual filters or reset everything with <strong>Clear all<\/strong>.<\/li>\n<li>See a results summary (e.g. \"Showing 12 of 48 members\") above the member grid.<\/li>\n<li>Keyboard-accessible facet controls for better usability.<\/li>\n<\/ul>\n\n<h4>Admin configuration<\/h4>\n\n<p>Configure everything under <strong>Ultimate Member \u2192 Member Directory \u2192 Add\/Edit<\/strong>, in the <strong>Faceted Search<\/strong> metabox:<\/p>\n\n<ul>\n<li>Enable or disable faceted search per directory.<\/li>\n<li>Add facet fields mapped to UM user meta keys (profile field keys).<\/li>\n<li>Set a custom label and UI type for each facet.<\/li>\n<li>Drag to reorder facets.<\/li>\n<li>Choose layout and toggle <strong>Show Counts<\/strong>, <strong>Active Filter Chips<\/strong>, <strong>Collapsible on Mobile<\/strong>, and <strong>URL State Persistence<\/strong>.<\/li>\n<li>Set how many options appear before a facet panel collapses (\"Collapse after X items\").<\/li>\n<li>Configure per-facet sort order and role visibility in advanced options.<\/li>\n<li>Set min, max, and step for numeric range facets; from\/to dates for date range facets.<\/li>\n<\/ul>\n\n<p>No shortcode is required \u2014 the filter sidebar appears automatically on directories where faceted search is enabled.<\/p>\n\n<h4>How it works<\/h4>\n\n<ol>\n<li>Enable faceted search on a Member Directory and choose which profile fields become filters.<\/li>\n<li>When a visitor opens that directory, the filter sidebar renders alongside the member grid.<\/li>\n<li>Each filter selection is sent with Ultimate Member's member query.<\/li>\n<li>The member list updates via AJAX; facet counts recalculate for the current filter combination.<\/li>\n<li>Only members matching all active filters are shown.<\/li>\n<\/ol>\n\n<h4>For developers<\/h4>\n\n<p>Hooks and filters for customization:<\/p>\n\n<ul>\n<li><code>um_fs_before_sidebar<\/code> \u2014 before the sidebar wrapper is rendered<\/li>\n<li><code>um_fs_inside_sidebar<\/code> \u2014 inside the sidebar, after the facets panel<\/li>\n<li><code>um_fs_after_sidebar<\/code> \u2014 after the sidebar closing tag<\/li>\n<li><code>um_fs_user_card_data<\/code> \u2014 filter data passed to member cards<\/li>\n<li><code>um_fs_field_type_overrides<\/code> \u2014 override detected field types by meta key<\/li>\n<li><code>um_fs_facet_max_users<\/code> \u2014 cap users scanned when building facet counts (default 5000)<\/li>\n<li><code>um_fs_facet_base_args<\/code> \u2014 adjust base <code>WP_User_Query<\/code> args used for counting<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate <strong>Ultimate Member<\/strong> (required).<\/li>\n<li>Upload the <code>faceted-search-for-ultimate-member<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install from the WordPress Plugins screen.<\/li>\n<li>Activate <strong>Faceted Search for Ultimate Member<\/strong> through the <strong>Plugins<\/strong> menu.<\/li>\n<li>Go to <strong>Ultimate Member \u2192 Member Directory<\/strong> and open an existing directory or create a new one.<\/li>\n<li>In the <strong>Faceted Search<\/strong> metabox, check <strong>Enable Faceted Search<\/strong>.<\/li>\n<li>Click <strong>Add Facet<\/strong> and configure at least one filter (see below).<\/li>\n<li><strong>Update<\/strong> the directory, then open its front-end page to preview the filter sidebar.<\/li>\n<\/ol>\n\n<h4>Setting up your first facet<\/h4>\n\n<p>Facets use Ultimate Member <strong>profile field meta keys<\/strong> \u2014 the internal key from your UM registration or profile forms.<\/p>\n\n<ol>\n<li>In <strong>Ultimate Member \u2192 Forms<\/strong>, note the meta key of a field you want to filter by (e.g. <code>country<\/code>, <code>gender<\/code>, <code>skills<\/code>).<\/li>\n<li>Edit your Member Directory and open the <strong>Faceted Search<\/strong> metabox.<\/li>\n<li>Click <strong>+ Add Facet<\/strong>.<\/li>\n<li>Enter the <strong>Meta Key<\/strong> exactly as it appears in the UM form.<\/li>\n<li>Enter a <strong>Label<\/strong> visitors will see (e.g. \"Country\").<\/li>\n<li>Choose a <strong>UI type<\/strong> (checkbox, radio, dropdown, tag cloud, numeric range, or date range).<\/li>\n<li>Drag rows to reorder facets if you add more than one.<\/li>\n<li>Save the directory and use <strong>Preview directory<\/strong> to test on the front end.<\/li>\n<\/ol>\n\n<p><strong>Tip:<\/strong> Fields with a manageable set of distinct values work best \u2014 countries, job titles, categories, or select\/radio options. Long free-text fields (biographies, descriptions) are not suitable as facets.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20require%20ultimate%20member%3F\"><h3>Does this plugin require Ultimate Member?<\/h3><\/dt>\n<dd><p>Yes. Faceted Search for Ultimate Member requires Ultimate Member and its Member Directory feature. The plugin deactivates itself if Ultimate Member is not active.<\/p><\/dd>\n<dt id=\"where%20do%20i%20configure%20facets%3F\"><h3>Where do I configure facets?<\/h3><\/dt>\n<dd><p>Go to <strong>Ultimate Member \u2192 Member Directory<\/strong>, then add or edit a directory. The <strong>Faceted Search<\/strong> metabox is on the directory edit screen.<\/p><\/dd>\n<dt id=\"do%20i%20need%20a%20shortcode%3F\"><h3>Do I need a shortcode?<\/h3><\/dt>\n<dd><p>No. Once faceted search is enabled on a directory, the filter sidebar is injected automatically on that directory's front-end page.<\/p><\/dd>\n<dt id=\"which%20profile%20fields%20can%20i%20use%20as%20facets%3F\"><h3>Which profile fields can I use as facets?<\/h3><\/dt>\n<dd><p>Any Ultimate Member user meta key that stores filterable data \u2014 typically text, select, radio, checkbox, multiselect, date, or number fields. The plugin auto-detects field types from your UM forms. Passwords, file uploads, URLs, biographies, and other sensitive or unsuitable meta are blocked.<\/p><\/dd>\n<dt id=\"how%20do%20i%20find%20the%20correct%20meta%20key%3F\"><h3>How do I find the correct meta key?<\/h3><\/dt>\n<dd><p>Open the UM form that contains the field, check its meta key in the field settings, or start typing in the admin <strong>Meta Key<\/strong> field for autocomplete suggestions from UM fields and user meta.<\/p><\/dd>\n<dt id=\"does%20filtering%20reload%20the%20page%3F\"><h3>Does filtering reload the page?<\/h3><\/dt>\n<dd><p>No. Member results update through Ultimate Member's AJAX member directory. Visitors stay on the same page while filters are applied.<\/p><\/dd>\n<dt id=\"what%20do%20the%20numbers%20next%20to%20filter%20options%20mean%3F\"><h3>What do the numbers next to filter options mean?<\/h3><\/dt>\n<dd><p>Those are <strong>live facet counts<\/strong> \u2014 how many members in the current result set have that value. Counts update whenever filters change.<\/p><\/dd>\n<dt id=\"can%20visitors%20combine%20multiple%20filters%3F\"><h3>Can visitors combine multiple filters?<\/h3><\/dt>\n<dd><p>Yes. Multiple active facets use AND logic: members must match all selected filters to appear in the results.<\/p><\/dd>\n<dt id=\"what%20ui%20types%20are%20available%3F\"><h3>What UI types are available?<\/h3><\/dt>\n<dd><p>Checkbox list, radio list, dropdown, tag cloud, numeric range, and date range. Each facet can use a different UI type.<\/p><\/dd>\n<dt id=\"can%20i%20show%20different%20facets%20to%20different%20user%20roles%3F\"><h3>Can I show different facets to different user roles?<\/h3><\/dt>\n<dd><p>Yes. Use <strong>Visible to Roles<\/strong> in each facet's advanced options. Leave all roles unchecked to show the facet to everyone.<\/p><\/dd>\n<dt id=\"does%20faceted%20search%20work%20with%20ultimate%20member%27s%20directory%20search%3F\"><h3>Does faceted search work with Ultimate Member's directory search?<\/h3><\/dt>\n<dd><p>Yes. Facet filters combine with UM's keyword search, native directory filters, sorting, and pagination.<\/p><\/dd>\n<dt id=\"will%20this%20slow%20down%20my%20directory%3F\"><h3>Will this slow down my directory?<\/h3><\/dt>\n<dd><p>Unfiltered facet counts are cached for a few minutes and refreshed when relevant user meta changes. For very large member bases, developers can tune performance with the <code>um_fs_facet_max_users<\/code> filter. A notice appears if counts may be incomplete on large directories.<\/p><\/dd>\n<dt id=\"can%20visitors%20share%20a%20filtered%20view%3F\"><h3>Can visitors share a filtered view?<\/h3><\/dt>\n<dd><p>Yes, when <strong>URL State Persistence<\/strong> is enabled. Active filters are stored in the URL query string so the view can be bookmarked or shared.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>All UI types are now included: checkbox, radio, dropdown, tag cloud, numeric range, and date range.<\/li>\n<li>Range filters work on the front end and in member queries.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Removed trialware licensing; checkbox filtering and directory settings remain fully functional in the free plugin.<\/li>\n<li>Moved admin and front-end CSS\/JS to proper WordPress enqueue APIs.<\/li>\n<li>Limited persistent facet count caching to unfiltered queries to prevent transient bloat.<\/li>\n<li>Updated plugin metadata to match userelements.com ownership.<\/li>\n<li>Free version scoped to checkbox list UI type only; other UI types are available in the separate Pro plugin.<\/li>\n<li>Single Pro upgrade notice in the admin metabox (no per-feature upsells).<\/li>\n<li>Removed non-checkbox UI rendering code from the free plugin.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial WordPress.org release.<\/li>\n<li>AJAX faceted filtering integrated with Ultimate Member member directories.<\/li>\n<li>Per-directory facet configuration with drag-and-drop ordering.<\/li>\n<li>Live facet counts with transient caching.<\/li>\n<\/ul>","raw_excerpt":"Add AJAX facet filters to Ultimate Member member directories so visitors can narrow members by profile fields with live counts and no page reloads.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/324995","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=324995"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/userelements"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=324995"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=324995"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=324995"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=324995"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=324995"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=324995"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}