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 Storage
Section titled “Data Storage”| 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.
Core Files
Section titled “Core Files”| 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 |
Extension Points
Section titled “Extension Points”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.

