Files
wp-multisite-waas/inc/traits/trait-wp-ultimo-settings-deprecated.php
2025-02-09 00:20:10 -07:00

93 lines
2.0 KiB
PHP

<?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);
}
}
}
}