<?php /** * A trait to be included in entities to WP_Settings Class depecrated methods. * * @package WP_Ultimo * @subpackage Deprecated * @since 2.0.0 */ namespace WP_Ultimo\Traits; /** * WP_Ultimo_Settings_Deprecated trait. */ trait WP_Ultimo_Settings_Deprecated { /** * Adds the legacy scripts. * * @since 2.0.0 * @return void */ public function handle_legacy_scripts(): void { /* * Mailchimp: Backwards compatibility. */ if (wp_script_is('wu-mailchimp', 'registered')) { wp_enqueue_script('wu-mailchimp'); } } /** * Handle legacy hooks to support old versions of our add-ons. * * @since 2.0.0 * @return void */ public function handle_legacy_filters(): void { $legacy_settings = []; /* * Fetch Extra Sections */ $sections = apply_filters_deprecated('wu_settings_sections', [[]], '2.0.0', 'wu_register_settings_section()'); foreach ($sections as $section_key => $section) { if ('activation' === $section_key) { continue; // No activation stuff; } $legacy_settings = array_merge($legacy_settings, $section['fields']); } $filters = [ 'wu_settings_section_general', 'wu_settings_section_network', 'wu_settings_section_domain_mapping', 'wu_settings_section_payment_gateways', 'wu_settings_section_emails', 'wu_settings_section_styling', 'wu_settings_section_tools', 'wu_settings_section_advanced', ]; foreach ($filters as $filter) { $message = __('Adding setting sections directly via filters is no longer supported.'); $legacy_settings = apply_filters_deprecated($filter, [$legacy_settings], '2.0.0', 'wu_register_settings_field()', $message); } if ($legacy_settings) { $this->add_section( 'other', [ 'title' => __('Other', 'wp-ultimo'), 'desc' => __('Other', 'wp-ultimo'), ] ); foreach ($legacy_settings as $setting_key => $setting) { if (str_contains((string) $setting_key, 'license_key_')) { continue; // Remove old license key fields } $this->add_field('other', $setting_key, $setting); } } } }