From 866be8ac668ef8a629ff3232aa113bff34a8cbd4 Mon Sep 17 00:00:00 2001 From: Henrique Mouta Date: Thu, 13 Mar 2025 10:51:37 +0000 Subject: [PATCH 1/5] Move the settings page under the Parse.ly menu --- src/Telemetry/telemetry-init.php | 2 +- src/UI/class-dashboard-page.php | 13 +++++-------- src/UI/class-settings-page.php | 7 ++++--- src/UI/settings-page.php | 2 ++ src/class-parsely.php | 2 +- src/css/admin-settings.scss | 2 +- wp-parsely.php | 7 ++++--- 7 files changed, 18 insertions(+), 17 deletions(-) diff --git a/src/Telemetry/telemetry-init.php b/src/Telemetry/telemetry-init.php index 146607117d..fe3e48f77a 100644 --- a/src/Telemetry/telemetry-init.php +++ b/src/Telemetry/telemetry-init.php @@ -52,7 +52,7 @@ function (): void { ), // Setting events. array( - 'action_hook' => 'load-settings_page_parsely', + 'action_hook' => 'load-parse-ly_page_parsely-settings', 'callable' => 'Parsely\Telemetry\record_settings_page_loaded', ), array( diff --git a/src/UI/class-dashboard-page.php b/src/UI/class-dashboard-page.php index 4ae3eb05b8..4f2b1c9ffd 100644 --- a/src/UI/class-dashboard-page.php +++ b/src/UI/class-dashboard-page.php @@ -175,14 +175,11 @@ public function add_dashboard_page_to_menu(): void { '__return_null' ); - add_submenu_page( - 'parsely-dashboard-page', - 'Parse.ly Settings', - 'Settings', - Parsely::CAPABILITY, // phpcs:ignore WordPress.WP.Capabilities.Undetermined - 'parsely-dashboard-page#/settings', - '__return_null' - ); + /** + * Settings submenu is registered in add_settings_sub_menu() at src/UI/class-settings-page.php. + * + * @see Settings_Page::add_settings_sub_menu() + */ } /** diff --git a/src/UI/class-settings-page.php b/src/UI/class-settings-page.php index 51ddeeedf6..2715c7958c 100644 --- a/src/UI/class-settings-page.php +++ b/src/UI/class-settings-page.php @@ -160,7 +160,7 @@ public function run(): void { * @param string|null $hook_suffix The current page being loaded. */ public function enqueue_settings_assets( ?string $hook_suffix ): void { - if ( ! is_string( $hook_suffix ) || 'settings_page_parsely' !== $hook_suffix ) { + if ( ! is_string( $hook_suffix ) || $this->hook_suffix !== $hook_suffix ) { return; } @@ -190,9 +190,10 @@ public function enqueue_settings_assets( ?string $hook_suffix ): void { * Adds the Parse.ly settings page in WordPress settings menu. */ public function add_settings_sub_menu(): void { - $suffix = add_options_page( + $suffix = add_submenu_page( + 'parsely-dashboard-page', __( 'Parse.ly Settings', 'wp-parsely' ), - __( 'Parse.ly', 'wp-parsely' ), + __( 'Settings', 'wp-parsely' ), Parsely::CAPABILITY, // phpcs:ignore WordPress.WP.Capabilities.Undetermined Parsely::MENU_SLUG, array( $this, 'display_settings' ) diff --git a/src/UI/settings-page.php b/src/UI/settings-page.php index da8639354c..f079ddd6dc 100644 --- a/src/UI/settings-page.php +++ b/src/UI/settings-page.php @@ -38,6 +38,8 @@

+ + show_setting_tabs(); ?>