CustomizerTrait.php
5 years ago
DefaultTemplateCustomizer.php
3 years ago
EmailSettingsPage.php
1 year ago
WPListTable.php
4 years ago
email-template-preview.php
5 years ago
CustomizerTrait.php
83 lines
| 1 | <?php |
| 2 | |
| 3 | namespace ProfilePress\Core\Admin\SettingsPages\EmailSettings; |
| 4 | |
| 5 | trait CustomizerTrait |
| 6 | { |
| 7 | public function modify_customizer_publish_button() |
| 8 | { |
| 9 | add_filter('gettext', function ($translations, $text, $domain) { |
| 10 | if ($domain == 'default' && $text == 'Publish') { |
| 11 | $translations = __('Save Changes', 'wp-user-avatar'); |
| 12 | } |
| 13 | if ($domain == 'default' && $text == 'Published') { |
| 14 | $translations = __('Saved', 'wp-user-avatar'); |
| 15 | } |
| 16 | |
| 17 | return $translations; |
| 18 | }, 10, 3); |
| 19 | } |
| 20 | |
| 21 | public function clean_up_customizer() |
| 22 | { |
| 23 | add_action('customize_preview_init', function () { |
| 24 | remove_all_actions('customize_preview_init'); |
| 25 | }, -1); |
| 26 | |
| 27 | // this should never change from init to say admin_init in future because it will |
| 28 | // cause wp_enqueue_scripts filter from taking effect cos its used in frontend. |
| 29 | add_action('init', function () { |
| 30 | |
| 31 | remove_all_actions('admin_print_footer_scripts'); |
| 32 | |
| 33 | // remove all custom media button added by plugins and core. |
| 34 | remove_all_actions('media_buttons'); |
| 35 | remove_all_filters('media_buttons_context'); |
| 36 | remove_all_filters('mce_buttons', 10); |
| 37 | remove_all_filters('mce_external_plugins', 10); |
| 38 | remove_all_actions('after_wp_tiny_mce'); |
| 39 | |
| 40 | remove_all_actions('wp_head'); |
| 41 | remove_all_actions('wp_print_styles'); |
| 42 | remove_all_actions('wp_print_head_scripts'); |
| 43 | remove_all_actions('wp_footer'); |
| 44 | |
| 45 | // Handle `wp_head` |
| 46 | add_action('wp_head', 'wp_enqueue_scripts', 1); |
| 47 | add_action('wp_head', 'wp_print_styles', 8); |
| 48 | add_action('wp_head', 'wp_print_head_scripts', 9); |
| 49 | add_action('wp_head', 'wp_site_icon'); |
| 50 | |
| 51 | // Handle `wp_footer` |
| 52 | add_action('wp_footer', 'wp_print_footer_scripts', 20); |
| 53 | |
| 54 | // add core media button back. |
| 55 | add_action('media_buttons', 'media_buttons'); |
| 56 | |
| 57 | if (class_exists('Astra_Customizer') && method_exists('Astra_Customizer', 'print_footer_scripts')) { |
| 58 | remove_action('customize_controls_print_footer_scripts', [\Astra_Customizer::get_instance(), 'print_footer_scripts']); |
| 59 | } |
| 60 | |
| 61 | add_action('customize_controls_enqueue_scripts', function () { |
| 62 | global $wp_scripts; |
| 63 | // important in fixing: Uncaught TypeError: Cannot set property '_value' of undefined |
| 64 | // from /wp-admin/js/customize-nav-menus.min.js |
| 65 | unset($wp_scripts->registered['customize-nav-menus']); |
| 66 | }); |
| 67 | |
| 68 | // flatbase theme compat |
| 69 | add_filter('nice_scripts', '__return_false'); |
| 70 | |
| 71 | if (function_exists('td_customize_js')) { |
| 72 | remove_action('customize_controls_print_footer_scripts', 'td_customize_js'); |
| 73 | } |
| 74 | |
| 75 | // compatibility with easy google font plugin |
| 76 | if (class_exists('EGF_Customize_Manager')) { |
| 77 | remove_action('customize_controls_enqueue_scripts', [\EGF_Customize_Manager::get_instance(), 'easy-google-fonts-customize-controls-js']); |
| 78 | remove_action('customize_register', [\EGF_Customize_Manager::get_instance(), 'register_font_control_type']); |
| 79 | } |
| 80 | |
| 81 | }, 999999999); |
| 82 | } |
| 83 | } |