: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
* Integrations for buddypress
* @copyright Copyright (c) 2023, Code Atlantic LLC
// Exit if accessed directly
if ( ! defined( 'ABSPATH' ) ) {
* Class PUM_BuddyPress_Integration
class PUM_BuddyPress_Integration {
public static function init() {
add_filter( 'pum_registered_conditions', [ __CLASS__, 'registered_conditions' ] );
add_filter( 'pum_condition_sort_order', [ __CLASS__, 'condition_sort_order' ] );
* @param array $conditions
public static function registered_conditions( $conditions = [] ) {
$conditions = array_merge(
// Add Additional Conditions
'group' => __( 'BuddyPress', 'buddypress' ),
'name' => __( 'BP: Is a BuddyPress Page', 'popup-maker' ),
'callback' => 'is_buddypress',
'group' => __( 'BuddyPress', 'buddypress' ),
'name' => __( 'BP: Is User Page', 'popup-maker' ),
'callback' => 'bp_is_user',
'group' => __( 'BuddyPress', 'buddypress' ),
'name' => __( 'BP: Is Group Page', 'popup-maker' ),
'callback' => 'bp_is_group',
'bp_is_user_messages' => [
'group' => __( 'BuddyPress', 'buddypress' ),
'name' => __( 'BP: Is User Messages Page', 'popup-maker' ),
'callback' => 'bp_is_user_messages',
'bp_is_activation_page' => [
'group' => __( 'BuddyPress', 'buddypress' ),
'name' => __( 'BP: Is Activation Page', 'popup-maker' ),
'callback' => 'bp_is_activation_page',
'bp_is_register_page' => [
'group' => __( 'BuddyPress', 'buddypress' ),
'name' => __( 'BP: Is Register Page', 'popup-maker' ),
'callback' => 'bp_is_register_page',
'group' => __( 'BuddyPress', 'buddypress' ),
'name' => __( 'BP: Is Item Admin', 'popup-maker' ),
'callback' => 'bp_is_item_admin',
'group' => __( 'BuddyPress', 'buddypress' ),
'name' => __( 'BP: Is Item Mod', 'popup-maker' ),
'callback' => 'bp_is_item_mod',
'group' => __( 'BuddyPress', 'buddypress' ),
'name' => __( 'BP: Is Directory', 'popup-maker' ),
'callback' => 'bp_is_directory',
'bp_is_current_component' => [
'group' => __( 'BuddyPress', 'buddypress' ),
'name' => __( 'BP: Is Current Component', 'popup-maker' ),
'options' => self::component_option_list(),
'label' => __( 'Which components?' ),
'callback' => [ __CLASS__, 'bp_is_current_component' ],
'bp_is_current_action' => [
'group' => __( 'BuddyPress', 'buddypress' ),
'name' => __( 'BP: Is Current Action', 'popup-maker' ),
'label' => __( 'Which actions?' ),
'callback' => [ __CLASS__, 'bp_is_current_action' ],
'bp_is_action_variable' => [
'group' => __( 'BuddyPress', 'buddypress' ),
'name' => __( 'BP: Is Action Variable', 'popup-maker' ),
'label' => __( 'Which action variables?' ),
'callback' => [ __CLASS__, 'bp_is_action_variable' ],
public static function component_option_list() {
foreach ( $bp->active_components as $component => $key ) {
$components[ $component ] = ucfirst( $component );
* Checks if the current page is the selected bp components.
public static function bp_is_current_component( $settings = [] ) {
if ( empty( $settings['selected'] ) ) {
if ( ! is_array( $settings['selected'] ) ) {
$settings['selected'] = [ $settings['selected'] ];
foreach ( $settings['selected'] as $component ) {
if ( ! array_key_exists( $component, $bp->active_components ) ) {
if ( bp_is_current_component( $component ) ) {
* Checks if the current page is the selected bp action.
public static function bp_is_current_action( $settings = [] ) {
if ( empty( $settings['selected'] ) ) {
if ( ! is_array( $settings['selected'] ) ) {
$settings['selected'] = array_map( 'trim', explode( ',', $settings['selected'] ) );
foreach ( $settings['selected'] as $action ) {
if ( bp_is_current_action( $action ) ) {
* Checks if the current page is the selected bp action variable.
public static function bp_is_action_variable( $settings = [] ) {
if ( empty( $settings['selected'] ) ) {
if ( ! is_array( $settings['selected'] ) ) {
$settings['selected'] = array_map( 'trim', explode( ',', $settings['selected'] ) );
foreach ( $settings['selected'] as $variable ) {
if ( bp_is_action_variable( $variable ) ) {
public static function condition_sort_order( $order = [] ) {
$order[ __( 'BuddyPress', 'buddypress' ) ] = 5.756;