From 3a6120412de46bcc0c940845180163b67c6eaf75 Mon Sep 17 00:00:00 2001 From: Enrico Battocchi Date: Thu, 2 May 2024 15:30:39 +0200 Subject: [PATCH 1/4] Don't initializer the WPSEO_Customizer class anymore --- wp-seo-main.php | 3 --- 1 file changed, 3 deletions(-) diff --git a/wp-seo-main.php b/wp-seo-main.php index ed650de23a7..8f90ba013ff 100644 --- a/wp-seo-main.php +++ b/wp-seo-main.php @@ -363,9 +363,6 @@ function wpseo_init() { require_once WPSEO_PATH . 'inc/wpseo-non-ajax-functions.php'; } - // Init it here because the filter must be present on the frontend as well or it won't work in the customizer. - new WPSEO_Customizer(); - $integrations = []; $integrations[] = new WPSEO_Slug_Change_Watcher(); From 689fc1aefa8ac11670422f42cbb307b9be317dc9 Mon Sep 17 00:00:00 2001 From: Enrico Battocchi Date: Thu, 2 May 2024 15:30:58 +0200 Subject: [PATCH 2/4] Deprecate the WPSEO_Customizer class --- admin/class-customizer.php | 249 ---------------------- src/deprecated/admin/class-customizer.php | 72 +++++++ 2 files changed, 72 insertions(+), 249 deletions(-) delete mode 100644 admin/class-customizer.php create mode 100644 src/deprecated/admin/class-customizer.php diff --git a/admin/class-customizer.php b/admin/class-customizer.php deleted file mode 100644 index bc6b9e8c7c1..00000000000 --- a/admin/class-customizer.php +++ /dev/null @@ -1,249 +0,0 @@ - '', - 'type' => 'option', - 'transport' => 'refresh', - ]; - - /** - * Default arguments for the breadcrumbs customizer control object. - * - * @var array - */ - private $default_control_args = [ - 'label' => '', - 'type' => 'text', - 'section' => 'wpseo_breadcrumbs_customizer_section', - 'settings' => '', - 'context' => '', - ]; - - /** - * Construct Method. - */ - public function __construct() { - add_action( 'customize_register', [ $this, 'wpseo_customize_register' ] ); - } - - /** - * Function to support WordPress Customizer. - * - * @param WP_Customize_Manager $wp_customize Manager class instance. - * - * @return void - */ - public function wpseo_customize_register( $wp_customize ) { - if ( ! WPSEO_Capability_Utils::current_user_can( 'wpseo_manage_options' ) ) { - return; - } - - $this->wp_customize = $wp_customize; - - $this->breadcrumbs_section(); - $this->breadcrumbs_blog_show_setting(); - $this->breadcrumbs_separator_setting(); - $this->breadcrumbs_home_setting(); - $this->breadcrumbs_prefix_setting(); - $this->breadcrumbs_archiveprefix_setting(); - $this->breadcrumbs_searchprefix_setting(); - $this->breadcrumbs_404_setting(); - } - - /** - * Add the breadcrumbs section to the customizer. - * - * @return void - */ - private function breadcrumbs_section() { - $section_args = [ - /* translators: %s is the name of the plugin */ - 'title' => sprintf( __( '%s Breadcrumbs', 'wordpress-seo' ), 'Yoast SEO' ), - 'priority' => 999, - 'active_callback' => [ $this, 'breadcrumbs_active_callback' ], - ]; - - $this->wp_customize->add_section( 'wpseo_breadcrumbs_customizer_section', $section_args ); - } - - /** - * Returns whether or not the breadcrumbs are active. - * - * @return bool - */ - public function breadcrumbs_active_callback() { - return current_theme_supports( 'yoast-seo-breadcrumbs' ) || WPSEO_Options::get( 'breadcrumbs-enable' ); - } - - /** - * Adds the breadcrumbs show blog checkbox. - * - * @return void - */ - private function breadcrumbs_blog_show_setting() { - $index = 'breadcrumbs-display-blog-page'; - $control_args = [ - 'label' => __( 'Show blog page in breadcrumbs', 'wordpress-seo' ), - 'type' => 'checkbox', - 'active_callback' => [ $this, 'breadcrumbs_blog_show_active_cb' ], - ]; - - $this->add_setting_and_control( $index, $control_args ); - } - - /** - * Returns whether or not to show the breadcrumbs blog show option. - * - * @return bool - */ - public function breadcrumbs_blog_show_active_cb() { - return get_option( 'show_on_front' ) === 'page'; - } - - /** - * Adds the breadcrumbs separator text field. - * - * @return void - */ - private function breadcrumbs_separator_setting() { - $index = 'breadcrumbs-sep'; - $control_args = [ - 'label' => __( 'Breadcrumbs separator:', 'wordpress-seo' ), - ]; - $id = 'wpseo-breadcrumbs-separator'; - - $this->add_setting_and_control( $index, $control_args, $id ); - } - - /** - * Adds the breadcrumbs home anchor text field. - * - * @return void - */ - private function breadcrumbs_home_setting() { - $index = 'breadcrumbs-home'; - $control_args = [ - 'label' => __( 'Anchor text for the homepage:', 'wordpress-seo' ), - ]; - - $this->add_setting_and_control( $index, $control_args ); - } - - /** - * Adds the breadcrumbs prefix text field. - * - * @return void - */ - private function breadcrumbs_prefix_setting() { - $index = 'breadcrumbs-prefix'; - $control_args = [ - 'label' => __( 'Prefix for breadcrumbs:', 'wordpress-seo' ), - ]; - - $this->add_setting_and_control( $index, $control_args ); - } - - /** - * Adds the breadcrumbs archive prefix text field. - * - * @return void - */ - private function breadcrumbs_archiveprefix_setting() { - $index = 'breadcrumbs-archiveprefix'; - $control_args = [ - 'label' => __( 'Prefix for archive pages:', 'wordpress-seo' ), - ]; - - $this->add_setting_and_control( $index, $control_args ); - } - - /** - * Adds the breadcrumbs search prefix text field. - * - * @return void - */ - private function breadcrumbs_searchprefix_setting() { - $index = 'breadcrumbs-searchprefix'; - $control_args = [ - 'label' => __( 'Prefix for search result pages:', 'wordpress-seo' ), - ]; - - $this->add_setting_and_control( $index, $control_args ); - } - - /** - * Adds the breadcrumb 404 prefix text field. - * - * @return void - */ - private function breadcrumbs_404_setting() { - $index = 'breadcrumbs-404crumb'; - $control_args = [ - 'label' => __( 'Breadcrumb for 404 pages:', 'wordpress-seo' ), - ]; - - $this->add_setting_and_control( $index, $control_args ); - } - - /** - * Adds the customizer setting and control. - * - * @param string $index Array key index to use for the customizer setting. - * @param array $control_args Customizer control object arguments. - * Only those different from the default need to be passed. - * @param string|null $id Optional. Customizer control object ID. - * Will default to 'wpseo-' . $index. - * @param array $custom_settings Optional. Customizer setting arguments. - * Only those different from the default need to be passed. - * - * @return void - */ - private function add_setting_and_control( $index, $control_args, $id = null, $custom_settings = [] ) { - $setting = sprintf( $this->setting_template, $index ); - $control_args = array_merge( $this->default_control_args, $control_args ); - $control_args['settings'] = $setting; - - $settings_args = $this->default_setting_args; - if ( ! empty( $custom_settings ) ) { - $settings_args = array_merge( $settings_args, $custom_settings ); - } - - if ( ! isset( $id ) ) { - $id = 'wpseo-' . $index; - } - - $this->wp_customize->add_setting( $setting, $settings_args ); - - $control = new WP_Customize_Control( $this->wp_customize, $id, $control_args ); - $this->wp_customize->add_control( $control ); - } -} diff --git a/src/deprecated/admin/class-customizer.php b/src/deprecated/admin/class-customizer.php new file mode 100644 index 00000000000..57b68c317ac --- /dev/null +++ b/src/deprecated/admin/class-customizer.php @@ -0,0 +1,72 @@ + Date: Thu, 2 May 2024 15:54:07 +0200 Subject: [PATCH 3/4] Decrease the error threshold --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 5bad5b6086a..1265c5bd5fb 100644 --- a/composer.json +++ b/composer.json @@ -92,7 +92,7 @@ "Yoast\\WP\\SEO\\Composer\\Actions::check_coding_standards" ], "check-cs-thresholds": [ - "@putenv YOASTCS_THRESHOLD_ERRORS=2549", + "@putenv YOASTCS_THRESHOLD_ERRORS=2545", "@putenv YOASTCS_THRESHOLD_WARNINGS=267", "Yoast\\WP\\SEO\\Composer\\Actions::check_cs_thresholds" ], From 72c241ee2221776ba61e4e2bfe1df6f97e9acb9a Mon Sep 17 00:00:00 2001 From: Enrico Battocchi Date: Fri, 3 May 2024 08:33:17 +0200 Subject: [PATCH 4/4] Exclude `VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable` for deprecated code --- .phpcs.xml.dist | 6 ++++++ composer.json | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.phpcs.xml.dist b/.phpcs.xml.dist index c71ab7fe143..6209556d799 100644 --- a/.phpcs.xml.dist +++ b/.phpcs.xml.dist @@ -227,6 +227,12 @@ /inc/wpseo-functions-deprecated\.php$ + + + /src/deprecated/* + /inc/wpseo-functions-deprecated\.php$ + + diff --git a/composer.json b/composer.json index 1265c5bd5fb..cc188b0e052 100644 --- a/composer.json +++ b/composer.json @@ -93,7 +93,7 @@ ], "check-cs-thresholds": [ "@putenv YOASTCS_THRESHOLD_ERRORS=2545", - "@putenv YOASTCS_THRESHOLD_WARNINGS=267", + "@putenv YOASTCS_THRESHOLD_WARNINGS=253", "Yoast\\WP\\SEO\\Composer\\Actions::check_cs_thresholds" ], "check-cs": [