Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
06/24/2024 05:29:42 PM (10 months ago)
Author:
imath
Message:

Manage BP specific WP List Tables pagination from a central function

  • Introduces bp_admin_set_screen_options() to deal with WP List Table pagination

for Activity, Groups, Opt-outs & Site Invitations.

  • Deprecates bp_activity_admin_screen_options() & bp_groups_admin_screen_options().

Props emaralive

Fixes #9195
Closes https://github.com/buddypress/buddypress/pull/320

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/bp-core/admin/bp-core-admin-functions.php

    r13928 r13937  
    17001700    <?php
    17011701}
     1702
     1703/**
     1704 * Sets the "per page" screen option for BP Items WP Admin lists.
     1705 *
     1706 * @since 14.0.0
     1707 *
     1708 * @param bool   $value     Will always be false unless another plugin filters it first.
     1709 * @param string $option    Screen option name.
     1710 * @param string $new_value Screen option form value.
     1711 * @return string|int Option value. False to abandon update.
     1712 */
     1713function bp_admin_set_screen_options( $value, $option, $new_value ) {
     1714    // Sanitize the new value.
     1715    $new_value = (int) $new_value;
     1716
     1717    // Make sure it's a reasonable value to paginate results.
     1718    if ( $new_value < 1 || $new_value > 999 ) {
     1719        return $value;
     1720    }
     1721
     1722    return $new_value;
     1723}
     1724add_filter( 'set_screen_option_toplevel_page_bp_activity_per_page', 'bp_admin_set_screen_options', 10, 3 );
     1725add_filter( 'set_screen_option_toplevel_page_bp_activity_network_per_page', 'bp_admin_set_screen_options', 10, 3 );
     1726add_filter( 'set_screen_option_toplevel_page_bp_groups_per_page', 'bp_admin_set_screen_options', 10, 3 );
     1727add_filter( 'set_screen_option_toplevel_page_bp_groups_network_per_page', 'bp_admin_set_screen_options', 10, 3 );
     1728add_filter( 'set_screen_option_tools_page_bp_optouts_per_page', 'bp_admin_set_screen_options', 10, 3 );
     1729add_filter( 'set_screen_option_tools_page_bp_optouts_network_per_page', 'bp_admin_set_screen_options', 10, 3 );
     1730add_filter( 'set_screen_option_tools_page_bp_members_invitations_per_page', 'bp_admin_set_screen_options', 10, 3 );
     1731add_filter( 'set_screen_option_tools_page_bp_members_invitations_network_per_page', 'bp_admin_set_screen_options', 10, 3 );
Note: See TracChangeset for help on using the changeset viewer.