Files
wp-multisite-waas/inc/traits/trait-wp-ultimo-settings-deprecated.php
2024-11-30 18:24:12 -07:00

105 lines
2.3 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() {
/*
* Mailchimp: Backwards compatibility.
*/
if (wp_script_is('wu-mailchimp', 'registered')) {
wp_enqueue_script('wu-mailchimp');
} // end if;
} // end handle_legacy_scripts;
/**
* Handle legacy hooks to support old versions of our add-ons.
*
* @since 2.0.0
* @return void
*/
public function handle_legacy_filters() {
$legacy_settings = array();
/*
* Fetch Extra Sections
*/
$sections = apply_filters_deprecated('wu_settings_sections', array(array()), '2.0.0', 'wu_register_settings_section()');
foreach ($sections as $section_key => $section) {
if ($section_key === 'activation') {
continue; // No activation stuff;
} // end if;
$legacy_settings = array_merge($legacy_settings, $section['fields']);
} // end foreach;
$filters = array(
'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, array($legacy_settings), '2.0.0', 'wu_register_settings_field()', $message);
} // end foreach;
if ($legacy_settings) {
$this->add_section('other', array(
'title' => __('Other', 'wp-ultimo'),
'desc' => __('Other', 'wp-ultimo'),
));
foreach ($legacy_settings as $setting_key => $setting) {
if (strpos((string) $setting_key, 'license_key_') !== false) {
continue; // Remove old license key fields
} // end if;
$this->add_field('other', $setting_key, $setting);
} // end foreach;
} // end if;
} // end handle_legacy_filters;
} // end trait WP_Ultimo_Settings_Deprecated;