diff --git a/build/admin-settings-rtl.css b/build/admin-settings-rtl.css index 992fd4cfe5..84370ecdbe 100644 --- a/build/admin-settings-rtl.css +++ b/build/admin-settings-rtl.css @@ -1 +1 @@ -#wp-parsely-dashboard-widget,.components-button[aria-controls="wp-parsely-block-editor-sidebar:wp-parsely-content-helper"],.editor-post-excerpt,.parsely-dashboard-container,.settings_page_parsely,.wp-parsely-block-overlay,.wp-parsely-content-helper,.wp-parsely-excerpt-generator,.wp-parsely-panel,.wp-parsely-popover,.wp-parsely-preview-editor,.wp-parsely-smart-linking-close-dialog,.wp-parsely-smart-linking-review-modal,.wp-parsely-suggested-title-modal,.wp-parsely-traffic-boost-add-new-link-popover,.wp-parsely-traffic-boost-preview-settings-popover{--base-font:"source-sans-pro",arial,sans-serif;--numeric-font:"ff-din-round-web",sans-serif;--parsely-green-components:107,42%,46%;--parsely-green:hsl(var(--parsely-green-components));--parsely-green-10:#c7ecb1;--parsely-green-65:#2a691b;--gray-200:#f7f8f9;--gray-300:#edeeef;--gray-400:#d7dbdf;--gray-500:#959da5;--gray-600:#586069;--gray-700:#444d56;--gray-900:#24292e;--blue-500:#44a8e5;--blue-550:#2596db;--green-500:#7bc01b;--green-900:#3d6307;--ref-direct:205,13%,52%;--ref-internal:161,91%,41%;--ref-social:210,72%,41%;--ref-search:42,100%,50%;--ref-other:3,76%,58%;--base-text:var(--gray-900);--base-text-2:var(--gray-600);--base-3:var(--gray-400);--border:var(--gray-400);--data:var(--green-500);--control:var(--blue-500);--grid-unit-5:0.25rem;--grid-unit-10:0.5rem;--grid-unit-15:0.75rem;--grid-unit-20:1rem;--grid-unit-25:1.25rem;--grid-unit-30:1.5rem;--grid-unit-40:2rem;--grid-unit-50:2.5rem;--grid-unit-60:3rem;--font-size--smaller:0.688rem;--font-size--small:0.75rem;--font-size--medium:0.875rem;--font-size--large:1rem;--font-size--extra-large:1.2rem;--font-size--bigger:2rem;--dashboard-width:64rem;--black:#000;--dashboard-accent:#b9f16b;--gray-350:#e1e3e5;--sidebar-black:#1e1e1e;--sidebar-white:#f0f0f0;--traffic-boost-header-background:rgba(56,88,233,.08);--white:#fff}.settings_page_parsely{--padding-default:15px}.settings_page_parsely fieldset.user-role-permissions label{margin-left:1rem!important}.settings_page_parsely .disabled-before-posting label:not(.prevent-disable),.settings_page_parsely .disabled-before-posting p,.settings_page_parsely .disabled-before-posting th,.settings_page_parsely fieldset:disabled label:not(.prevent-disable),.settings_page_parsely fieldset:disabled p,.settings_page_parsely fieldset:disabled th,.settings_page_parsely tr:has(fieldset:disabled) label:not(.prevent-disable),.settings_page_parsely tr:has(fieldset:disabled) p,.settings_page_parsely tr:has(fieldset:disabled) th{color:var(--gray-500);cursor:default}.settings_page_parsely #track-post-types{max-width:550px;width:100%}.settings_page_parsely #track-post-types td,.settings_page_parsely #track-post-types th{display:table-cell;padding:var(--padding-default);text-align:center;vertical-align:middle}.settings_page_parsely #track-post-types td{padding:0}.settings_page_parsely #track-post-types td label{display:inline-block;margin:0!important;padding-bottom:var(--padding-default);padding-top:var(--padding-default);width:100%}.settings_page_parsely #track-post-types thead th:nth-child(3){word-break:break-word}.settings_page_parsely .managed-option-badge{border:.0625rem solid var(--green-500);border-radius:.25rem;color:var(--green-500)!important;display:inline-block;font-size:.625rem;padding:.125rem .25rem;text-decoration:none}.settings_page_parsely a.managed-option-badge{cursor:pointer!important}.settings_page_parsely a.managed-option-badge:hover{background-color:var(--green-500);color:#fff!important}@media only screen and (max-width:380px){.settings_page_parsely #track-post-types td,.settings_page_parsely #track-post-types th{padding-right:10px;padding-left:10px}.settings_page_parsely #track-post-types th:first-child{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}} +#wp-parsely-dashboard-widget,.components-button[aria-controls="wp-parsely-block-editor-sidebar:wp-parsely-content-helper"],.editor-post-excerpt,.parsely-dashboard-container,.settings_page_parsely,.wp-parsely-block-overlay,.wp-parsely-content-helper,.wp-parsely-excerpt-generator,.wp-parsely-panel,.wp-parsely-popover,.wp-parsely-preview-editor,.wp-parsely-smart-linking-close-dialog,.wp-parsely-smart-linking-review-modal,.wp-parsely-suggested-title-modal,.wp-parsely-traffic-boost-add-new-link-popover,.wp-parsely-traffic-boost-preview-settings-popover{--base-font:"source-sans-pro",arial,sans-serif;--numeric-font:"ff-din-round-web",sans-serif;--parsely-green-components:107,42%,46%;--parsely-green:hsl(var(--parsely-green-components));--parsely-green-10:#c7ecb1;--parsely-green-65:#2a691b;--gray-200:#f7f8f9;--gray-300:#edeeef;--gray-400:#d7dbdf;--gray-500:#959da5;--gray-600:#586069;--gray-700:#444d56;--gray-900:#24292e;--blue-500:#44a8e5;--blue-550:#2596db;--green-500:#7bc01b;--green-900:#3d6307;--ref-direct:205,13%,52%;--ref-internal:161,91%,41%;--ref-social:210,72%,41%;--ref-search:42,100%,50%;--ref-other:3,76%,58%;--base-text:var(--gray-900);--base-text-2:var(--gray-600);--base-3:var(--gray-400);--border:var(--gray-400);--data:var(--green-500);--control:var(--blue-500);--grid-unit-5:0.25rem;--grid-unit-10:0.5rem;--grid-unit-15:0.75rem;--grid-unit-20:1rem;--grid-unit-25:1.25rem;--grid-unit-30:1.5rem;--grid-unit-40:2rem;--grid-unit-50:2.5rem;--grid-unit-60:3rem;--font-size--smaller:0.688rem;--font-size--small:0.75rem;--font-size--medium:0.875rem;--font-size--large:1rem;--font-size--extra-large:1.2rem;--font-size--bigger:2rem;--dashboard-width:64rem;--black:#000;--dashboard-accent:#b9f16b;--gray-350:#e1e3e5;--sidebar-black:#1e1e1e;--sidebar-white:#f0f0f0;--traffic-boost-header-background:rgba(56,88,233,.08);--white:#fff}.parse-ly_page_parsely-settings{--padding-default:15px}.parse-ly_page_parsely-settings fieldset.user-role-permissions label{margin-left:1rem!important}.parse-ly_page_parsely-settings .disabled-before-posting label:not(.prevent-disable),.parse-ly_page_parsely-settings .disabled-before-posting p,.parse-ly_page_parsely-settings .disabled-before-posting th,.parse-ly_page_parsely-settings fieldset:disabled label:not(.prevent-disable),.parse-ly_page_parsely-settings fieldset:disabled p,.parse-ly_page_parsely-settings fieldset:disabled th,.parse-ly_page_parsely-settings tr:has(fieldset:disabled) label:not(.prevent-disable),.parse-ly_page_parsely-settings tr:has(fieldset:disabled) p,.parse-ly_page_parsely-settings tr:has(fieldset:disabled) th{color:var(--gray-500);cursor:default}.parse-ly_page_parsely-settings #track-post-types{max-width:550px;width:100%}.parse-ly_page_parsely-settings #track-post-types td,.parse-ly_page_parsely-settings #track-post-types th{display:table-cell;padding:var(--padding-default);text-align:center;vertical-align:middle}.parse-ly_page_parsely-settings #track-post-types td{padding:0}.parse-ly_page_parsely-settings #track-post-types td label{display:inline-block;margin:0!important;padding-bottom:var(--padding-default);padding-top:var(--padding-default);width:100%}.parse-ly_page_parsely-settings #track-post-types thead th:nth-child(3){word-break:break-word}.parse-ly_page_parsely-settings .managed-option-badge{border:.0625rem solid var(--green-500);border-radius:.25rem;color:var(--green-500)!important;display:inline-block;font-size:.625rem;padding:.125rem .25rem;text-decoration:none}.parse-ly_page_parsely-settings a.managed-option-badge{cursor:pointer!important}.parse-ly_page_parsely-settings a.managed-option-badge:hover{background-color:var(--green-500);color:#fff!important}@media only screen and (max-width:380px){.parse-ly_page_parsely-settings #track-post-types td,.parse-ly_page_parsely-settings #track-post-types th{padding-right:10px;padding-left:10px}.parse-ly_page_parsely-settings #track-post-types th:first-child{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}} diff --git a/build/admin-settings.asset.php b/build/admin-settings.asset.php index c5011e13a1..a818ff382e 100644 --- a/build/admin-settings.asset.php +++ b/build/admin-settings.asset.php @@ -1 +1 @@ - array(), 'version' => '2d737052835da4af032b'); + array(), 'version' => '362715ca3d611fafb6ab'); diff --git a/build/admin-settings.css b/build/admin-settings.css index 7fbefc2d85..57d7800194 100644 --- a/build/admin-settings.css +++ b/build/admin-settings.css @@ -1 +1 @@ -#wp-parsely-dashboard-widget,.components-button[aria-controls="wp-parsely-block-editor-sidebar:wp-parsely-content-helper"],.editor-post-excerpt,.parsely-dashboard-container,.settings_page_parsely,.wp-parsely-block-overlay,.wp-parsely-content-helper,.wp-parsely-excerpt-generator,.wp-parsely-panel,.wp-parsely-popover,.wp-parsely-preview-editor,.wp-parsely-smart-linking-close-dialog,.wp-parsely-smart-linking-review-modal,.wp-parsely-suggested-title-modal,.wp-parsely-traffic-boost-add-new-link-popover,.wp-parsely-traffic-boost-preview-settings-popover{--base-font:"source-sans-pro",arial,sans-serif;--numeric-font:"ff-din-round-web",sans-serif;--parsely-green-components:107,42%,46%;--parsely-green:hsl(var(--parsely-green-components));--parsely-green-10:#c7ecb1;--parsely-green-65:#2a691b;--gray-200:#f7f8f9;--gray-300:#edeeef;--gray-400:#d7dbdf;--gray-500:#959da5;--gray-600:#586069;--gray-700:#444d56;--gray-900:#24292e;--blue-500:#44a8e5;--blue-550:#2596db;--green-500:#7bc01b;--green-900:#3d6307;--ref-direct:205,13%,52%;--ref-internal:161,91%,41%;--ref-social:210,72%,41%;--ref-search:42,100%,50%;--ref-other:3,76%,58%;--base-text:var(--gray-900);--base-text-2:var(--gray-600);--base-3:var(--gray-400);--border:var(--gray-400);--data:var(--green-500);--control:var(--blue-500);--grid-unit-5:0.25rem;--grid-unit-10:0.5rem;--grid-unit-15:0.75rem;--grid-unit-20:1rem;--grid-unit-25:1.25rem;--grid-unit-30:1.5rem;--grid-unit-40:2rem;--grid-unit-50:2.5rem;--grid-unit-60:3rem;--font-size--smaller:0.688rem;--font-size--small:0.75rem;--font-size--medium:0.875rem;--font-size--large:1rem;--font-size--extra-large:1.2rem;--font-size--bigger:2rem;--dashboard-width:64rem;--black:#000;--dashboard-accent:#b9f16b;--gray-350:#e1e3e5;--sidebar-black:#1e1e1e;--sidebar-white:#f0f0f0;--traffic-boost-header-background:rgba(56,88,233,.08);--white:#fff}.settings_page_parsely{--padding-default:15px}.settings_page_parsely fieldset.user-role-permissions label{margin-right:1rem!important}.settings_page_parsely .disabled-before-posting label:not(.prevent-disable),.settings_page_parsely .disabled-before-posting p,.settings_page_parsely .disabled-before-posting th,.settings_page_parsely fieldset:disabled label:not(.prevent-disable),.settings_page_parsely fieldset:disabled p,.settings_page_parsely fieldset:disabled th,.settings_page_parsely tr:has(fieldset:disabled) label:not(.prevent-disable),.settings_page_parsely tr:has(fieldset:disabled) p,.settings_page_parsely tr:has(fieldset:disabled) th{color:var(--gray-500);cursor:default}.settings_page_parsely #track-post-types{max-width:550px;width:100%}.settings_page_parsely #track-post-types td,.settings_page_parsely #track-post-types th{display:table-cell;padding:var(--padding-default);text-align:center;vertical-align:middle}.settings_page_parsely #track-post-types td{padding:0}.settings_page_parsely #track-post-types td label{display:inline-block;margin:0!important;padding-bottom:var(--padding-default);padding-top:var(--padding-default);width:100%}.settings_page_parsely #track-post-types thead th:nth-child(3){word-break:break-word}.settings_page_parsely .managed-option-badge{border:.0625rem solid var(--green-500);border-radius:.25rem;color:var(--green-500)!important;display:inline-block;font-size:.625rem;padding:.125rem .25rem;text-decoration:none}.settings_page_parsely a.managed-option-badge{cursor:pointer!important}.settings_page_parsely a.managed-option-badge:hover{background-color:var(--green-500);color:#fff!important}@media only screen and (max-width:380px){.settings_page_parsely #track-post-types td,.settings_page_parsely #track-post-types th{padding-left:10px;padding-right:10px}.settings_page_parsely #track-post-types th:first-child{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}} +#wp-parsely-dashboard-widget,.components-button[aria-controls="wp-parsely-block-editor-sidebar:wp-parsely-content-helper"],.editor-post-excerpt,.parsely-dashboard-container,.settings_page_parsely,.wp-parsely-block-overlay,.wp-parsely-content-helper,.wp-parsely-excerpt-generator,.wp-parsely-panel,.wp-parsely-popover,.wp-parsely-preview-editor,.wp-parsely-smart-linking-close-dialog,.wp-parsely-smart-linking-review-modal,.wp-parsely-suggested-title-modal,.wp-parsely-traffic-boost-add-new-link-popover,.wp-parsely-traffic-boost-preview-settings-popover{--base-font:"source-sans-pro",arial,sans-serif;--numeric-font:"ff-din-round-web",sans-serif;--parsely-green-components:107,42%,46%;--parsely-green:hsl(var(--parsely-green-components));--parsely-green-10:#c7ecb1;--parsely-green-65:#2a691b;--gray-200:#f7f8f9;--gray-300:#edeeef;--gray-400:#d7dbdf;--gray-500:#959da5;--gray-600:#586069;--gray-700:#444d56;--gray-900:#24292e;--blue-500:#44a8e5;--blue-550:#2596db;--green-500:#7bc01b;--green-900:#3d6307;--ref-direct:205,13%,52%;--ref-internal:161,91%,41%;--ref-social:210,72%,41%;--ref-search:42,100%,50%;--ref-other:3,76%,58%;--base-text:var(--gray-900);--base-text-2:var(--gray-600);--base-3:var(--gray-400);--border:var(--gray-400);--data:var(--green-500);--control:var(--blue-500);--grid-unit-5:0.25rem;--grid-unit-10:0.5rem;--grid-unit-15:0.75rem;--grid-unit-20:1rem;--grid-unit-25:1.25rem;--grid-unit-30:1.5rem;--grid-unit-40:2rem;--grid-unit-50:2.5rem;--grid-unit-60:3rem;--font-size--smaller:0.688rem;--font-size--small:0.75rem;--font-size--medium:0.875rem;--font-size--large:1rem;--font-size--extra-large:1.2rem;--font-size--bigger:2rem;--dashboard-width:64rem;--black:#000;--dashboard-accent:#b9f16b;--gray-350:#e1e3e5;--sidebar-black:#1e1e1e;--sidebar-white:#f0f0f0;--traffic-boost-header-background:rgba(56,88,233,.08);--white:#fff}.parse-ly_page_parsely-settings{--padding-default:15px}.parse-ly_page_parsely-settings fieldset.user-role-permissions label{margin-right:1rem!important}.parse-ly_page_parsely-settings .disabled-before-posting label:not(.prevent-disable),.parse-ly_page_parsely-settings .disabled-before-posting p,.parse-ly_page_parsely-settings .disabled-before-posting th,.parse-ly_page_parsely-settings fieldset:disabled label:not(.prevent-disable),.parse-ly_page_parsely-settings fieldset:disabled p,.parse-ly_page_parsely-settings fieldset:disabled th,.parse-ly_page_parsely-settings tr:has(fieldset:disabled) label:not(.prevent-disable),.parse-ly_page_parsely-settings tr:has(fieldset:disabled) p,.parse-ly_page_parsely-settings tr:has(fieldset:disabled) th{color:var(--gray-500);cursor:default}.parse-ly_page_parsely-settings #track-post-types{max-width:550px;width:100%}.parse-ly_page_parsely-settings #track-post-types td,.parse-ly_page_parsely-settings #track-post-types th{display:table-cell;padding:var(--padding-default);text-align:center;vertical-align:middle}.parse-ly_page_parsely-settings #track-post-types td{padding:0}.parse-ly_page_parsely-settings #track-post-types td label{display:inline-block;margin:0!important;padding-bottom:var(--padding-default);padding-top:var(--padding-default);width:100%}.parse-ly_page_parsely-settings #track-post-types thead th:nth-child(3){word-break:break-word}.parse-ly_page_parsely-settings .managed-option-badge{border:.0625rem solid var(--green-500);border-radius:.25rem;color:var(--green-500)!important;display:inline-block;font-size:.625rem;padding:.125rem .25rem;text-decoration:none}.parse-ly_page_parsely-settings a.managed-option-badge{cursor:pointer!important}.parse-ly_page_parsely-settings a.managed-option-badge:hover{background-color:var(--green-500);color:#fff!important}@media only screen and (max-width:380px){.parse-ly_page_parsely-settings #track-post-types td,.parse-ly_page_parsely-settings #track-post-types th{padding-left:10px;padding-right:10px}.parse-ly_page_parsely-settings #track-post-types th:first-child{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}} 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-recommended-widget.php b/src/UI/class-recommended-widget.php index 25f8fca2e1..77675ae40e 100644 --- a/src/UI/class-recommended-widget.php +++ b/src/UI/class-recommended-widget.php @@ -183,7 +183,7 @@ public function widget( $args, $widget_settings ): void /* @phpstan-ignore-line */ public function form( $current_settings ): string { if ( ! $this->site_id_and_secret_are_populated() ) { - $settings_page_url = add_query_arg( 'page', 'parsely', get_admin_url() . 'options-general.php' ); + $settings_page_url = add_query_arg( 'page', 'parsely-settings', get_admin_url() . 'admin.php' ); $message = sprintf( /* translators: %s: Plugin settings page URL */ diff --git a/src/UI/class-settings-page.php b/src/UI/class-settings-page.php index 51ddeeedf6..6d35a6a272 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' ) @@ -228,7 +229,7 @@ public function add_help_text(): void { } /** - * Displays the Parse.ly settings screen (options-general.php?page=[SLUG]). + * Displays the Parse.ly settings screen (admin.php?page=[SLUG]). */ public function display_settings(): void { // phpcs:ignore WordPress.WP.Capabilities.Undetermined diff --git a/src/UI/class-site-health.php b/src/UI/class-site-health.php index dfaee2620c..3b9f34a32c 100644 --- a/src/UI/class-site-health.php +++ b/src/UI/class-site-health.php @@ -84,7 +84,7 @@ public function check_site_id( array $tests ): array { if ( $this->parsely->site_id_is_missing() ) { $result['status'] = 'critical'; $result['label'] = __( 'You need to provide the Site ID', 'wp-parsely' ); - $result['actions'] = __( 'The site ID can be set in the Parse.ly Settings Page.', 'wp-parsely' ); + $result['actions'] = __( 'The site ID can be set in the Parse.ly Settings Page.', 'wp-parsely' ); } return $result; 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(); ?>