Digital Sovereignty for everyone

Admin Interfaces & Shortcodes

Admin Interfaces & Shortcodes

User edit screen (wp-admin)

add_backend_profile_fields() (hooked on show_user_profile/edit_user_profile) adds a “Profile Data” section to the standard WordPress user edit screen, visible only to users who can edit_user for that profile. Fields shown: phone, secondary phone, street address, town, postcode, state/province, country, gender, birthdate, additional emails. Saved via save_backend_profile_profile_fields() on personal_options_update / edit_user_profile_update / user_register.

Frontend shortcodes

  • [lh_profile_admin_form] – admin_form_shortcode_output(). Renders a full front-end editable form (first name, last name, phone, address, town, postcode, gender, birthdate) for the current logged-in user. Posts to post_handler(), hooked on the wp action via save_data().
  • [lh_profile_listing_table] – listing_table_shortcode_output(). A sortable table of all users (ID, display name, gender, phone, email), gated to list_users capability.

BuddyPress xProfile integration

This plugin registers 9 custom BuddyPress xProfile field types (add_field_types(), hooked on bp_xprofile_get_field_types) so each of these fields can be added to a BuddyPress profile field group and rendered/edited through the normal xProfile UI, while the actual data lives in plain user meta rather than the bp_xprofile_data table:

lh_profile-first_name, -last_name, -display_name, -street_address, -town, -postcode, -gender, -birthdate, -phone – each backed by its own LH_Profile_xprofile_{field}_extender class in includes/.

override_returned_data() and override_returned_value() intercept BuddyPress’s normal xProfile data-fetching so these “faux” fields transparently return the real user meta value instead of (non-existent) bp_xprofile_data rows.

Note: state_province and country have no xProfile field type – they’re admin-backend-only, never exposed through BuddyPress.

Network Settings

A “Google Places API key” field is added to Network Settings (show_network_settings() / save_network_settings()), but the save handler doesn’t currently persist the value anywhere – appears vestigial/incomplete.

If you like this plugin please consider making a donation to further development

Install LHero.org

lhero.org

Open it straight from your home screen, full screen and quicker to load.

  1. Tap the Share button . If you cannot see it, tap ••• first.
  2. Scroll down and tap Add to Home Screen.
  3. Tap Add.
  1. Tap the browser menu ⋮.
  2. Tap Install app or Add to Home screen.
  1. In the menu bar, choose File, then Add to Dock.

Use your browser's menu to install this site or add it to your home screen.