Related to Store Pages Menu Scrolls: Invocation, UX, and Core Chain
Starting 2508.29
Changelog entries beginning on 2025-08-29 for the Store Locator Plus® application.
UI Text Update — Locations Interface
2025-08-29Changed the “Expand Location” button on the Location Card listing to “Edit Location” to more accurately describe what the button does.
Files referenced/updated in task “Rename “Expand Location” to “Edit Location” on Locations Interface”:
/wp-content/plugins/myslp-dashboard/assets/scripts/src/locations/components/LocationCardRow.js— updated button label text./wp-content/plugins/myslp-dashboard/panels/myslp-locations.php— ensured server-rendered labels and help text align with new wording./wp-content/plugins/myslp-dashboard/assets/scripts/locations.js— compiled bundle reflecting the label change./wp-content/plugins/myslp-dashboard/assets/scripts/locations.min.js.map— updated source map for debugging.
File: Starting 2508.29.html
Store Pages Update — Menu Attach + UX
2025-09-16 → 2025-10-01This block consolidates the Store Pages work from the 2509.16 Pages Update and the subsequent 2510.01 Pages Menu UX Update.
2509.16 — Findings and Activation Path
- Verified the
Enable Pagestoggle (SmartOptions::is_true('use_pages')) drivesSLPPower->using_pages. - Confirmed submenu injection via
slp_menu_itemsfilter when Pages are active; callablerender_pages_tabprovides UI. - Documented the hook chain ensuring the tab appears after SLP init and under the correct parent.
2510.01 — MySLP Sidebar UX
- In SaaS only, “Pages” now renders between Categories and Options (position
1.17). - Icon set to
dashicons-admin-pagefor consistency with WordPress Pages. - Behavior for the WordPress plugin remains unchanged.
Files: session changes scoped to SaaS menu rendering via the slp_menu_items pipeline; placement/icon respected by the admin menu builder.
Summary
This document begins tracking all updates and discussions initiated under the marker “2509.16 Pages Update.” It includes recorded details about the WordPress environment, plugins in use, and other relevant information for debugging, code improvements, and other development tasks related to Store Locator Plus®.
Issue context: In the Power add-on, the “Enable Pages” option (Options → HTML panel → App) has field ID
options_nojs[use_pages]. This value is stored in the WordPress wp_options table under
option name csl-slplus-options_nojs as a serialized key/value pair, using the key
use_pages. When use_pages is true (stored value 1), the system should
render a Store Pages submenu under the main Store Locator Plus menu. This is currently not
happening and is the focus of this update.
Findings: use_pages and Pages submenu attachment
Where use_pages is referenced
- Smart option definition: store-locator-plus/include/module/smartoptions/SLP_SmartOptions.php (property
$use_pages). - Power bootstrap: slp-power/include/SLPPower.php
init_using_pages()sets$this->using_pagesfromSmartOptions->is_true('use_pages')(lines ~642, 650–651).
- AJAX module conditional behavior: slp-power/include/module/ajax/SLP_Power_AJAX.php checks
SmartOptions->is_false('use_pages')(around line ~711). - Admin info and options: slp-power/include/module/admin/* and slp-power/include/module/options/SLP_Power_Options.php define/use defaults for
use_pages. - MySLP dashboard references: myspl-dashboard assets read/write a checkbox with id
#use_pages.
Where the Pages submenu is added
- slp-power/include/module/pages/SLP_Power_Pages_Global.php
- Hooks
add_filter('slp_menu_items', ...)inadd_hooks_and_filters(). add_pages_tab()appends a menu item only when$power->using_pagesis true.- The menu entry is defined as: label Pages, slug
slp-pages, class$power->admin->pages, functionrender_pages_tab.
- Hooks
- slp-power/include/module/pages/SLP_Power_Pages_Admin.php
- Provides
render_pages_tab()which renders the Pages admin UI.
- Provides
- Core menu attachment: store-locator-plus/include/module/admin/SLP_Admin_UI.php
create_admin_menu()collects menu entries via theslp_menu_itemsfilter and, on classic WP installs, callsadd_submenu_page()with the parent slugSLPLUS_PREFIX.
- Parent menu slug definition: store-locator-plus/include/base/loader.php defines
SLPLUS_PREFIXascsl-slplus.
Potential reasons the Pages submenu may not render
- use_pages evaluates false:
$power->using_pagesis false, soadd_pages_tab()returns without appending the menu item. - Filter not initialized: The
SLP_Power_Pages_Globalclass may not be instantiated when using pages; ensure itsinitialize()runs afterslp_init. - Parent menu slug mismatch: If the main menu parent slug changed from
csl-slplus, items added viaslp_menu_itemswould attempt to attach to the wrong parent. Current core usesSLPLUS_PREFIXwhich equalscsl-slplus. - Admin pages controller not present: If
$power->admin->pagesis not constructed, the callable may be invalid and WordPress could skip the submenu.
Conclusion: The Pages submenu is added by the Power add-on via the slp_menu_items filter (in SLP_Power_Pages_Global::add_pages_tab) and attached by core SLP in SLP_Admin_UI::create_admin_menu under the parent slug csl-slplus. Verify use_pages is true and that the parent slug has not changed.
Environment
- Site URL: http://localhost
- Store Locator Plus®: 2508.20.01
- Power: 2506.30.01
- SLP Network Active: No
- WordPress Version: 6.8.2
- WordPress Memory Limit: 40M
- WordPress Max Memory Limit: 256M
- PHP Version: 8.3.1
- PHP Memory Limit: 128M
- PHP Post Max Size: 64M
- PHP Peak RAM: 6 MB
- MySQL Version: 8.3.0
Installed Plugins
- Primary Plugin: Store Locator Plus® (
store-locator-plus) - Power Add-on: SLP Power (
slp-power) - Experience Add-on: SLP Experience (
slp-experience) - Premier Add-on: SLP Premier (
slp-premier)
UX — Pages Menu placement and icon (MySLP)
2025-10-01Adjusted the “Pages” menu item injected via slp_menu_items so that, in the SaaS environment only, it:
- Appears between Categories and Options in the sidebar (position
1.17). - Uses the standard WordPress Pages icon
dashicons-admin-page.
Change is gated by the SaaS constant check to avoid altering WordPress plugin behavior.
Refs: filter pipeline slp_menu_items → admin menu builder honors icon and position for SaaS top-level entries.


