Skip to content

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.

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.

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.

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.
  • 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 on template_redirect with a nonce, not an AJAX endpoint.
  • No shortcodes of its own. It renders GeoDirectory’s [gd_listings] shortcode internally.

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.