Title: Admin Filters for MemberPress
Author: Omar ElHawary
Published: <strong>2026 年 5 月 3 日</strong>
Last modified: 2026 年 8 月 22 日

---

搜索插件

![](https://ps.w.org/admin-filters-for-memberpress/assets/banner-772x250.png?rev
=3521433)

![](https://ps.w.org/admin-filters-for-memberpress/assets/icon-256x256.png?rev=3521433)

# Admin Filters for MemberPress

 作者：[Omar ElHawary](https://profiles.wordpress.org/omarelhawary/)

[下载](https://downloads.wordpress.org/plugin/admin-filters-for-memberpress.2.2.1.zip)

 * [详情](https://cn.wordpress.org/plugins/admin-filters-for-memberpress/#description)
 * [评价](https://cn.wordpress.org/plugins/admin-filters-for-memberpress/#reviews)
 *  [安装](https://cn.wordpress.org/plugins/admin-filters-for-memberpress/#installation)
 * [开发进展](https://cn.wordpress.org/plugins/admin-filters-for-memberpress/#developers)

 [支持](https://wordpress.org/support/plugin/admin-filters-for-memberpress/)

## 描述

**Admin Filters for MemberPress** extends the **MemberPress -> Members**, **Subscriptions**,**
Lifetimes**, and **Transactions** admin screens with extra filters: MemberPress 
address fields (when your site captures them), every MemberPress registration **
Settings -> Fields** field, and any further **user meta** filters you add with the`
meprmf_members_meta_filters_fields` filter (for example in a small custom plugin).

This plugin is an independent project. It is **not** affiliated with, endorsed by,
or sponsored by MemberPress.

#### Requirements

 * WordPress 5.6 or newer and PHP 8.1 or newer.
 * A working install of **MemberPress**. This extension does not ship MemberPress
   and cannot run without it.

#### Privacy

Filtering reads values you or your administrators submit on those admin lists (standard
admin `GET` requests) and builds SQL `EXISTS` conditions on `wp_usermeta` scoped
to each list query. No data is sent to external services by this plugin.

#### What you get

 * Extra filter controls on the **MemberPress -> Members**, **Subscriptions**, **
   Lifetimes**, and **Transactions** admin lists so you can narrow rows by address,
   registration fields, and (optionally) other stored member data you wire in with
   code.
 * On every supported list, additional filters query MemberPress tables (memberships,
   access, subscriptions, dates) and list-specific fields such as transaction status,
   gateway, and member status — not only wp_usermeta.
 * Each list still works like MemberPress; this plugin only adds filtering options
   for administrators.
 * A **Filters** card above the list where you add one filter at a time — pick a
   field, a comparison (is, contains, is after, is between, is in the last, is empty,…)
   and a value — and choose whether rows must match **all** filters or **any** of
   them.
 * **Saved views** (Filters card): name and reload common filter combinations on
   each list screen, either shared with the other administrators or private to you,
   and optionally marked as the view a screen opens with. Views include plugin panel
   params and native MemberPress toolbar params (`status`, `membership`, `gateway`,
   transaction date fields, gifting `type` when applicable).

## 屏幕截图

[⌊MemberPress Members admin list with the Filters card open: each filter is a field,
comparison, and value row -- Member status is Active members, Registered is in the
last 12 months, Total spent is at least 1 -- above the filtered list.⌉⌊MemberPress
Members admin list with the Filters card open: each filter is a field, comparison,
and value row -- Member status is Active members, Registered is in the last 12 months,
Total spent is at least 1 -- above the filtered list.⌉[

MemberPress **Members** admin list with the **Filters** card open: each filter is
a field, comparison, and value row — **Member status is Active members**, **Registered
is in the last 12 months**, **Total spent is at least 1** — above the filtered list.

## 安装

 1. Upload the plugin files to the `/wp-content/plugins/admin-filters-for-memberpress`
    directory, or install the plugin through the WordPress plugins screen directly.
 2. Activate the plugin through the **Plugins** screen in WordPress.
 3. Ensure **MemberPress** is already installed and active. If MemberPress is inactive,
    this plugin does nothing.

## 常见问题

### Does this plugin include MemberPress?

No. You must purchase and install MemberPress separately. This plugin only adds 
filters to the supported MemberPress admin lists when MemberPress is active.

### Where do I use the filters?

In the WordPress admin, open **MemberPress -> Members** (or **Subscriptions**, **
Lifetimes**, or **Transactions**). In the **Filters** card above the table, click**
+ Add filter**, pick a field, set the comparison and value, then click **Apply filters**
to refresh the list. Use **Saved views** to save or load named filter combinations
on that screen — shared with the other administrators, or private to you. **Set 
as default** makes one of your views the one that screen opens with.

### What can I filter members by?

 * **Address** fields when your site collects them in MemberPress (for example country,
   city, postal code), including when address is captured on the account page.
 * Every field you configure under **MemberPress -> Settings -> Fields** (registration/
   profile style fields).
 * **Extra user meta** only if a developer adds filter definitions using the `meprmf_members_meta_filters_fields`
   filter hook (for data stored in `wp_usermeta` that is not already covered).
 * On **Transactions**, the transaction **Amount** and the **Subscription** it belongs
   to; on **Subscriptions**, how many completed transactions the subscription has.

### Does this change my public website or checkout?

No. It only affects those **admin** MemberPress list screens. Visitors and the front
of your site are unchanged.

### Is member data sent to a third-party service?

No. Filtering runs inside your WordPress install and database. See the **Privacy**
note in the description above.

### What happens if MemberPress is turned off?

The plugin waits quietly. Once MemberPress is active again, the filters show on 
the supported lists as before.

### Where do I get support for this plugin?

Use the [Support forum](https://wordpress.org/support/plugin/admin-filters-for-memberpress/)
on WordPress.org for **Admin Filters for MemberPress**.

### How do developers extend the filters?

 * Filter hook for extra meta-based filter definitions: `meprmf_members_meta_filters_fields`.
 * Optional UI hook (show or remove the **Filters** card): `meprmf_use_floating_members_panel`.
 * Source and issues: see **Plugin URI** and **GitHub URI** in the main plugin file
   header (`admin-filters-for-memberpress.php`).

## 评价

此插件暂无评价。

## 贡献者及开发者

「Admin Filters for MemberPress」是开源软件。 以下人员对此插件做出了贡献。

贡献者

 *   [ Omar ElHawary ](https://profiles.wordpress.org/omarelhawary/)

[帮助将「Admin Filters for MemberPress」翻译成简体中文。](https://translate.wordpress.org/projects/wp-plugins/admin-filters-for-memberpress)

### 对开发感兴趣吗?

您可以[浏览代码](https://plugins.trac.wordpress.org/browser/admin-filters-for-memberpress/)，
查看[SVN仓库](https://plugins.svn.wordpress.org/admin-filters-for-memberpress/)，
或通过[RSS](https://plugins.trac.wordpress.org/log/admin-filters-for-memberpress/?limit=100&mode=stop_on_copy&format=rss)
订阅[开发日志](https://plugins.trac.wordpress.org/log/admin-filters-for-memberpress/)。

## 更新日志

#### 2.2.1

 * Performance: opening a Members, Transactions, Subscriptions or Lifetimes list
   no longer does the work of collecting every filterable field before checking 
   whether you have a default view set. Sites where nobody uses a default view save
   that work on every list screen load. No change to what the filters do.

#### 2.2.0

 * **Transactions:** filter by **Amount** (is at least / is at most / is between,
   in your MemberPress currency) and by **Subscription** — the gateway subscription
   id shown in the list’s Subscr. column, with contains, does not contain, is, is
   not, is empty and is not empty.
 * **Subscriptions:** filter by **Transaction count** (is at least / is at most /
   is between). Counts the same completed transactions MemberPress shows in the 
   row’s Transactions column, so the filter and the number agree.
 * **Saved views now belong to someone.** A view records the administrator who saved
   it and whether it is **shared** with the other administrators or **private** 
   to its owner. A private view is not shown to anyone else.
 * **Deleting another administrator’s shared view is refused** with a message saying
   why, instead of silently removing it for everyone. So is saving over one under
   the same name. Administrators who can manage options may still do both.
 * **Default view:** mark one saved view per screen as the view that screen opens
   with. It is per administrator, an explicit filter in the address bar always wins,
   and clearing the filters shows the unfiltered list rather than re-applying the
   default.
 * Views saved before this release keep working for everyone exactly as they did:
   they read as shared and unowned, nobody loses a view, and nothing in the database
   is rewritten.

#### 2.1.1

 * Fixed: a native MemberPress toolbar filter left on its **All** option (All Memberships,
   All Statuses, All Gateways, or the transaction date range’s All) no longer shows
   an active-filter chip. It restricts nothing, so removing it changed no rows.
 * Screenshot and its caption updated to the query-builder Filters card.

#### 2.1.0

 * **Query-builder Filters card** on all four list screens: add one filter at a 
   time as a field, comparison, and value row instead of scanning a grid of every
   available field.
 * **Comparisons per field type:** choice (is, is not, is empty), text (contains,
   does not contain, is, is empty), date (is after, is before, is between, is in
   the last, is not in the last), number (is at least, is at most, is between).
 * **Match all or any:** rows can require every filter or just one of them.
 * **Saved presets are now Saved views,** with the same site-wide storage and hooks.
 * Active-filter chips read the same wording as the row that produced them, so an
   exact match and a substring match are no longer shown identically.
 * Filters stay bookmarkable: each row reads from and writes to plain query parameters.

#### 2.0.0

 * **Saved filter presets** (floating panel): site-wide named presets on all four
   list screens; presets now include native MemberPress toolbar params (status, 
   membership, gateway, transaction date fields, gifting type) in addition to plugin
   panel params. Stored in wp_options meprmf_filter_presets, per screen. Load, save(
   upsert by name), and delete from the panel. Filter hooks meprmf_filter_presets
   and meprmf_max_filter_presets_per_screen (default 25 per screen).
 * **Add-on passthrough filters:** Course, Circle, Directory (Members); Coupon and
   Gift type (Transactions) when the corresponding add-ons are active.
 * **Members activity filters:** registered date range, last login range, total 
   spent min/max, on trial.
 * **Corporate type** filter on Members when MemberPress Corporate is active.
 * **Coupon** filter on Lifetimes (mpml_coupon).
 * Hooks: meprmf_members_addon_filters_fields, meprmf_members_activity_filters_fields,
   meprmf_native_toolbar_params, meprmf_corporate_type_predicate.
 * **Floating panel:** Apply preserves active filters on hidden fields; badge reflects
   visible panel edits; focus trap while the panel is open.
 * **Performance:** filter hook meprmf_use_inactive_access_predicate to skip the
   heaviest Members inactive-access predicate.
 * **List-table scoping:** predicates still apply when get_current_screen() is unavailable(
   custom admin bootstraps).

#### 1.9.1

 * Safer list-table scoping: predicates only when the matching MemberPress list_table()
   caller and WP_Screen align.
 * Members member-since uses EXISTS on mepr_members; transaction status includes
   Confirmed; row-scoped Access labels on non-Members lists.
 * Date custom fields (Settings -> Fields): filter by from/to date range instead
   of one exact date; per-admin toggle in the Filters panel customize UI (user meta
   meprmf_date_custom_fields_use_range, default on). Filter hook meprmf_custom_date_fields_use_range;
   constant MEPRMF_DATE_CUSTOM_FIELDS_USE_RANGE for site-wide override.

#### 1.9.0

 * **Core table filters on all four lists:** membership, access, subscription status,
   expires range, and member-since range on Transactions, Subscriptions, and Lifetimes(
   mpmt_*, mpms_*, mpml_*), with row-scoped SQL.
 * **Screen-specific panel filters:** Members — member status (active / inactive/
   expired / non-members); Transactions and Lifetimes — transaction status, gateway,
   created date range; Subscriptions and Lifetimes — gateway.
 * Hooks meprmf_transactions_core_filters_fields, meprmf_subscriptions_core_filters_fields,
   and meprmf_lifetimes_core_filters_fields for extensions.
 * meprmf_mepr_predicate_fragments runs on every supported list context.

#### 1.8.0

 * **Members list — MemberPress table filters:** filter by membership (product),
   active/inactive access (transactions), subscription status, expires date range,
   and member-since date range via EXISTS on mepr_transactions, mepr_subscriptions,
   and mepr_members.
 * Hooks meprmf_members_core_filters_fields and meprmf_mepr_predicate_fragments 
   for extensions.
 * Debug panel shows both meta and MemberPress table predicate fragments when WP_DEBUG
   is on.

#### 1.7.0

 * **Subscriptions, Lifetimes, and Transactions:** the same address and **Settings
   Fields** meta filters as on **Members**, scoped to each list’s user column (`
   mepr_list_table_args`).
 * **Floating Filters panel:** print panel markup in `admin_footer` on supported
   screens so MemberPress toolbar markup stays valid; filter `meprmf_use_floating_meta_filters_panel`
   to control the panel per screen (Members still respects `meprmf_use_floating_members_panel`).
 * **Build:** minify floating-panel JS and toolbar CSS with esbuild when building
   the release zip (`npm run build` from `build-release.sh`).

#### 1.6.8

 * Floating Filters panel: when the set of filter query params changes (for example
   after enabling MemberPress **Show on Account** or **Show on Signup** for address),
   reset saved field visibility so new address filters are not left hidden by an
   older `localStorage` whitelist.
 * Members provider: document address toggles explicitly; add a unit test for signup-
   only address capture.

#### 1.6.7

 * Improve escaping in Members filter controls (WordPress Plugin Check / PHPCS).
 * Replace the languages directory placeholder with a non-hidden `index.php` so 
   release zips avoid dotfiles flagged by Plugin Check.
 * Drop redundant `load_plugin_textdomain()`; WordPress.org installs load translations
   automatically (WordPress 4.6+).
 * Clarify read-only admin `GET` usage for script loading and filter query parameters
   where static analysis required it.
 * Toolbar renderer: clearer attribute handling and inline documentation for SQL/
   predicate behavior; document WordPress.org banner/icon layout under `wordpress-
   org-assets/`.
 * README (GitHub): structure and screenshot guidance refresh.

#### 1.6.6

 * WordPress.org packaging: add `readme.txt`, align the text domain with the plugin
   slug (`admin-filters-for-memberpress`), and clarify third-party / trademark disclaimer.
 * Remove the `Requires Plugins: memberpress` header because MemberPress is not 
   distributed from the wordpress.org plugin directory (dependency is documented
   here instead).
 * Track a `languages/` directory for translation drops (initial placeholder before
   the 1.6.7 `index.php` layout).
 * Release hygiene: tighten `.gitignore`, extend `scripts/build-release.sh`, and
   align `readme.txt` / README notes with the zip build and WordPress.org upload
   flow.
 * WordPress.org review: set Plugin URI to the plugin directory listing; correct
   GitHub repository URL in plugin header and developer metadata (`composer.json`/
   README where applicable).
 * Prefix compliance: rename the custom extension filter from `mepr_members_meta_filters_fields`
   to `meprmf_members_meta_filters_fields`. If you added filters in code, update
   your `add_filter` hook name.

#### 1.6.5

 * Floating **Filters** panel on **MemberPress -> Members** (field visibility in
   the browser via `localStorage`; filter `meprmf_use_floating_members_panel` to
   use the previous inline toolbar).
 * Address filters when MemberPress captures address on the **account** page only(
   not only at checkout).
 * Refine filter control rendering for the floating panel.
 * Style: toggle control layout and icon dimensions on the Members filters UI.
 * README guidance for when to use extra user-meta filters vs MemberPress **Settings-
   > Fields**; slightly smaller Members toolbar typography for alignment.

#### 1.6.2

 * Raise minimum PHP to **8.1** (was 7.4). WordPress **5.6+** requirement unchanged.
 * Run PHPUnit / CI on PHP 8.1 through 8.3.
 * Skipped semver labels: 1.6.3 and 1.6.4 were not published from this repository;
   the next version after 1.6.2 was 1.6.5.

#### 1.6.1

 * Rebrand and paths: plugin folder **`admin-filters-for-memberpress`**, main file**`
   admin-filters-for-memberpress.php`** (formerly _MemberPress Members Meta Filters_/`
   memberpress-members-meta-filters.php`).
 * Refactor monolithic bootstrap into **`includes/`** classes with a compatibility
   layer in **`compat/legacy-functions.php`** so existing `meprmf_*` snippets keep
   working.
 * Add **`uninstall.php`** for option cleanup on delete; remove redundant `register_uninstall_hook`
   usage.
 * Add PHPUnit suite, `phpunit.xml.dist`, and GitHub Actions workflow.
 * Consolidate filter field definition validation (duplicate `meta_key` rows, select
   rows missing choices, duplicate dropdown keys) and related helpers.

#### 1.5.0

 * Full MemberPress **address** filters: **state/province**, **zip/postal code**,
   and **address lines 1 & 2** (in addition to country and city).
 * Filter hook **`meprmf_include_address_filters`** to control when built-in address
   filters are shown (default follows MemberPress address capture settings).
 * Prefer MemberPress-configured address field labels when available.
 * Plugin header: Author URI and GitHub repository URI.
 * Pre-1.6.1 while the header still read 1.5.0 (monolithic memberpress-members-meta-
   filters.php): README sync — metadata and changelog match the shipped 1.4.0/1.5.0
   feature set; document all six address filter fields.
 * Uninstall: move option cleanup to `uninstall.php` and remove redundant `register_uninstall_hook`
   usage.
 * Refactor: replace magic numbers with named constants; document maximum lengths
   enforced when validating filter `param` values.
 * Refactor: extract `meprmf_normalize_filter_fields()` (and related helpers) for
   shared filter field validation.
 * Merge `develop` (pull request #1): consolidate validation and handling for configured
   meta filters ahead of the rebrand.

#### 1.4.0

 * Declare **Requires at least: 5.6** and **Requires PHP: 7.4** in the plugin header.
 * Guard plugin constants with `defined()` checks so they are not redefined.
 * Load a text domain from the **`languages/`** directory.
 * On uninstall, remove leftover plugin options when the plugin is deleted from 
   wp-admin (`uninstall.php`).
 * Stricter sanitization when normalizing filter field definitions: skip duplicate`
   meta_key` rows, require choices for select-type rows, and handle duplicate option
   keys in dropdown definitions.

#### 1.3.0

 * Initial release (as _MemberPress Members Meta Filters_): filters on the MemberPress**
   Members** admin list for **country**, **city**, and **MemberPress custom fields**(
   dropdown, radios, multiselect, checkboxes, checkbox, and text-style field types
   mapped to sensible controls).
 * Apply list constraints via **`EXISTS`** subqueries on **`wp_usermeta`** through**`
   mepr_list_table_args`**, scoped to the Members list query.
 * Compact collapsible filter layout when many filters are active (threshold filterable
   in later releases).

## 额外信息

 *  版本 **2.2.1**
 *  最后更新：**2 月前**
 *  活跃安装数量 **不到10**
 *  WordPress 版本 ** 5.6 或更高版本 **
 *  已测试的最高版本为 **7.0.7**
 *  PHP 版本 ** 8.1 或更高版本 **
 *  语言
 * [English (US)](https://wordpress.org/plugins/admin-filters-for-memberpress/)
 * 标签
 * [admin](https://cn.wordpress.org/plugins/tags/admin/)[filters](https://cn.wordpress.org/plugins/tags/filters/)
   [memberpress](https://cn.wordpress.org/plugins/tags/memberpress/)[members](https://cn.wordpress.org/plugins/tags/members/)
   [membership](https://cn.wordpress.org/plugins/tags/membership/)
 *  [高级视图](https://cn.wordpress.org/plugins/admin-filters-for-memberpress/advanced/)

## 评级

尚未提交反馈。

[您的评价](https://wordpress.org/support/plugin/admin-filters-for-memberpress/reviews/#new-post)

[查看全部评论](https://wordpress.org/support/plugin/admin-filters-for-memberpress/reviews/)

## 贡献者

 *   [ Omar ElHawary ](https://profiles.wordpress.org/omarelhawary/)

## 支持

有话要说吗？是否需要帮助？

 [查看支持论坛](https://wordpress.org/support/plugin/admin-filters-for-memberpress/)