Settings and Data Storage
This page describes where the addon stores its data and what it does and does not create. It is useful when integrating, migrating, or debugging.
Settings option
Section titled “Settings option”All admin settings are stored inside the Reign theme’s shared option, not in a dedicated addon option.
- Option name:
reign_options - BuddyPress section:
reign_options['reign_geodirectory'] - PeepSo section:
reign_options['reign_peepso_geodirectory']
Read settings through the addon helper rather than reading the option directly:
$enabled = reign_geo_general_settings_options( 'places_tab_checkbox', 'reign_geodirectory' );$layout = reign_geo_general_settings_options( 'selected_places_layout', 'reign_peepso_geodirectory' );The helper tolerates a missing section, validates the layout against the supported list (falling back to gridview_onehalf), and returns strings for label/slug keys and an array for bp_listing_cpts.
Setting keys
Section titled “Setting keys”| Key | Section | Notes |
|---|---|---|
places_tab_checkbox |
both | on or unset |
selected_places_layout |
both | one of the five layout keys |
geodir_new_place_activity |
both | activity toggle |
geodir_favorite_activity |
both | activity toggle |
geodir_review_activity |
both | activity toggle |
geodir_new_place_notification |
BuddyPress only | notification toggle |
geodir_review_notification |
both | notification toggle |
geodir_mark_fav_notification |
both | notification toggle |
place_tab_label |
both | text |
place_tab_slug |
BuddyPress only | text |
bp_listing_cpts |
BuddyPress only | array of post type slugs |
Because these settings share the theme option, the save handler reads reign_options fresh and updates only the addon’s own keys, so it never overwrites other Reign addons’ settings.
Other data written
Section titled “Other data written”| Data | Where | Why |
|---|---|---|
reign_options |
WordPress options | Addon settings (above), seeded on activation. |
geodir_settings['fast_ajax'] |
WordPress options | Set to 0 on activation so favorite-place activity is captured. |
Reign_Geolocation_edd_license_key / _status |
WordPress options | EDD license key and status for updates. |
| BuddyPress activity and notification rows | BuddyPress tables (via BuddyPress APIs) | Activities and notifications. |
| PeepSo activity posts and notifications | PeepSo storage (via PeepSo APIs) | Activities and notifications. |
| PeepSo per-member preference meta | User meta (peepso_geodirectory_enable_*) |
Member activity opt-out switches. |
| PeepSo activity markers | Post meta (is_peepso_geodirectory_activity, peepso_geodirectory_activity_type, peepso_geodirectory_activity_info) |
Identify and render addon activities in the PeepSo stream. |
What the addon does not create
Section titled “What the addon does not create”- No custom database tables.
- No custom post types or taxonomies.
- No REST API routes.
- No AJAX (
wp_ajax_*) actions. Notification “mark as read” is handled ontemplate_redirectwith a nonce, not an AJAX endpoint. - No shortcodes of its own. It renders GeoDirectory’s
[gd_listings]shortcode internally.
Scheduled work
Section titled “Scheduled work”The addon uses one WP-Cron single event, reign_geodir_new_place_notification_batch, to send new-place BuddyPress notifications in background batches. It is scheduled on publish and re-schedules itself until all members are processed. See Hooks and Filters.

