I am trying to remove the ability to change the 'site icon' in a Wordpress site unless the user is a 'Super Admin'.
My first thought was trying to modify this code snippet here that is located in the **/wp-includes/class-wp-customize-manager.php
$this->add_setting( 'site_icon', array(
'type' => 'option',
'capability' => 'manage_options',
'transport' => 'postMessage', // Previewed with JS in the Customizer controls window.
) );
$this->add_control( new WP_Customize_Site_Icon_Control( $this, 'site_icon', array(
'label' => __( 'Site Icon' ),
'description' => sprintf(
/* translators: %s: site icon size in pixels */
__( 'The Site Icon is used as a browser and app icon for your site. Icons must be square, and at least %s pixels wide and tall.' ),
'<strong>512</strong>'
),
'section' => 'title_tagline',
'priority' => 60,
'height' => 512,
'width' => 512,
) ) );
But I do not want to change any core/delivered files. Is there any other way to accomplish this? Maybe in the theme's functions.php file?
Also, I'm currently using WordPress 4.5.2 and the twentytwelve theme.