Skip to content

Developer Overview

BuddyPress Status stores all data in WordPress options and user meta; there is no custom database table. The plugin exposes a set of filters and actions that let you change behaviour without editing plugin files.

Data Location Key
General plugin settings wp_options bpsts_gnrl_settings
Admin-defined feeling activities wp_options bpsts_feeling_activities
Admin-defined global status list wp_options bpsts_global_statuses
A user’s saved statuses (keyed status-{timestamp}) wp_usermeta bpsts_saved_status
The key of the user’s active status wp_usermeta bpsts_current_status
The user’s selected emoji icon wp_usermeta bpsts_user_icon

See Database Schema for the shape of each value.

File Purpose
buddypress-status.php Plugin bootstrap, constants, activation, version
includes/class-buddypress-status.php Main orchestrator; queues admin and public hooks and applies the theme-support filter
includes/class-buddypress-status-loader.php Hook queue (collects add_action/add_filter, fires on run())
includes/buddypress-status-general-functions.php Public helper functions and most filters
includes/buddypress-status-emoji-data.php Unicode emoji dataset and its filter
public/class-buddypress-status-public.php Frontend rendering and the five AJAX handlers
public/inc/bpsts-add-status.php Status form template (with template action hooks)
includes/admin/class-bpsts-admin.php Admin card-panel controller: menu, tabs, and page render
admin/class-buddypress-status-admin.php Legacy class retained only to register the three settings groups and their sanitizers

The plugin exposes 13 filters and 4 template action hooks. See Hooks and Filters for full signatures and examples.

A localized JavaScript object (bpsts_ajax_object) is available on every page that loads the plugin’s public script. See JavaScript API for its properties.

Frontend markup uses a predictable set of CSS classes you can target for styling. See CSS Classes for a grouped reference.