| 1 |
<?php |
| 2 |
namespace Elementor\Modules\Home\Transformations; |
| 3 |
|
| 4 |
use Elementor\Core\DocumentTypes\Page; |
| 5 |
|
| 6 |
if ( ! defined( 'ABSPATH' ) ) { |
| 7 |
exit; // Exit if accessed directly. |
| 8 |
} |
| 9 |
|
| 10 |
class Create_Site_Settings_Url extends Base\Transformations_Abstract { |
| 11 |
|
| 12 |
|
| 13 |
const SITE_SETTINGS_ITEMS = [ 'Site Settings', 'Site Logo', 'Global Colors', 'Global Fonts' ]; |
| 14 |
|
| 15 |
public function transform( array $home_screen_data ): array { |
| 16 |
if ( empty( $home_screen_data['get_started'] ) ) { |
| 17 |
return $home_screen_data; |
| 18 |
} |
| 19 |
|
| 20 |
$site_settings_url_config = Page::get_site_settings_url_config(); |
| 21 |
|
| 22 |
$home_screen_data['get_started']['repeater'] = array_map( function( $repeater_item ) use ( $site_settings_url_config ) { |
| 23 |
if ( ! in_array( $repeater_item['title'], static::SITE_SETTINGS_ITEMS, true ) ) { |
| 24 |
return $repeater_item; |
| 25 |
} |
| 26 |
|
| 27 |
if ( ! empty( $repeater_item['tab_id'] ) ) { |
| 28 |
$site_settings_url_config['url'] = add_query_arg( [ 'active-tab' => $repeater_item['tab_id'] ], $site_settings_url_config['url'] ); |
| 29 |
} |
| 30 |
|
| 31 |
return array_merge( $repeater_item, $site_settings_url_config ); |
| 32 |
}, $home_screen_data['get_started']['repeater'] ); |
| 33 |
|
| 34 |
return $home_screen_data; |
| 35 |
} |
| 36 |
} |
| 37 |
|