Dans mon thème Wordpress que je suis en train de créer, je ne profite pas de l'API de personnalisation de thème Wordpress. Autant que je voudrais aussi, j'ai investi beaucoup trop de temps dans mon propre cadre d'options de thème personnel pour changer les choses.
Cela m'amène à ma question. Comment supprimer le bouton bleu "Personnalisez votre site" du tableau de bord, ainsi que le lien affiché lors de l'affichage Apparence> Thèmes? J'ai fait quelques recherches sur Google, mais mon Google-Fu a échoué et n'a pas pu trouver de solution n'utilisant ni CSS ni Javascript.
Idéalement, un crochet pour l'enlever serait le mieux. Mais s'il n'y a pas de moyen propre de le faire, une solution JS et/ou CSS conviendrait.
Avec la dernière version de WordPress (4.3), vous pouvez maintenant supprimer de manière native le paramètre de changement de thème du client sans recourir aux hacks CSS.
/**
* Remove customizer options.
*
* @since 1.0.0
* @param object $wp_customize
*/
function ja_remove_customizer_options( $wp_customize ) {
//$wp_customize->remove_section( 'static_front_page' );
//$wp_customize->remove_section( 'title_tagline' );
//$wp_customize->remove_section( 'nav' );
$wp_customize->remove_section( 'themes' );
}
add_action( 'customize_register', 'ja_remove_customizer_options', 30 );
Dans la dernière version de WordPress, la section "thèmes" est un panneau. Elle doit donc être supprimée comme suit:
add_action( 'customize_register', 'prefix_remove_customizer_options', 30 );
/**
* Remove customizer options.
*
* @since 1.0.0
* @param object $wp_customize The current WordPress customizer object.
*/
function prefix_remove_customizer_options( $wp_customize ) {
$wp_customize->remove_panel( 'themes' );
}
Il n'y a pas de crochets à cette partie du tableau de bord.
Cela doit être fait avec CSS (ou jQuery si vous voulez le convertir en autre chose).
add_action( 'admin_head-index.php', 'hide_customize_button_wpse_82424' );
function hide_customize_button_wpse_82424(){
?>
<style type="text/css">div.welcome-panel-column:first-child {display:none;} </style>
<?php
}
[update]
Comme l'a souligné @helenhousandi dans un commentaire:
la fonction
wp_welcome_panel()
est ajoutée sur le hookwelcome_panel
, mais non, il n'y a pas (délibérément) de hooks dans cette fonction.
Une autre approche consiste donc à supprimer le crochet d’action et à recréer la fonction wp_welcome_panel()
, comme suit:
add_action( 'load-index.php', 'remove_welcome_panel' );
function remove_welcome_panel()
{
remove_action( 'welcome_panel', 'wp_welcome_panel' );
add_action( 'welcome_panel', 'my_welcome_panel' );
}
Et my_welcome_panel
est une réplique dewp_welcome_panel()
adapté comme on le souhaite.
S'il vous plaît, notez également son observation: _ mon emphase
_ {Je suggérerais par contre de ne pas le supprimer publiquement, cependant, car un utilisateur peut s'attendre à ce qu'il soit là. Lors des tests, nous avons constaté que de nombreux nouveaux utilisateurs revenaient à ce panneau de bienvenue, même après s’être familiarisés.
Vous devez passer le code suivant sur function.php
function theme_option_remove( $wp_customize ) {
$wp_customize->remove_section("themes");
}
add_action( 'customize_register', 'theme_option_remove' ,20 );