93 lines
2.0 KiB
PHP
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 ($section_key === 'activation') {
|
|
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);
|
|
}
|
|
}
|
|
}
|
|
}
|