Je crée un thème et j'ai un problème avec les widgets et les zones de widgets. J'utilise le thème Customizer pour permettre à l'utilisateur de modifier le contenu, les couleurs, etc.
Je sais comment créer une zone de widget. Je dois pouvoir ajouter cette zone de widget à une section spécifique du personnalisateur de thème. Par exemple, le thème zerif-lite (comme illustré ci-dessous) comporte une zone de widget située sous le symbole
Notre section de focus - Panel
Nos widgets de section de focus - Section
Je veux la même chose dans mon thème, être capable de choisir où la zone du widget est affichée dans le personnalisateur.
Remarque: J'ai consulté le code de zerif-lite , mais je ne pouvais toujours pas comprendre comment ils l'avaient fait.
De plus, je sais comment créer Panels
, Sections
, Settings
et Controls
, mais pas comment créer une zone de widget.
Vous pouvez vous déplacer dans le personnaliseur en accédant simplement à la structure de données et en affectant une valeur différente au panneau. Donc, en supposant que votre zone de widget, créée de la manière habituelle, s'appelle wpse210938_area
et que vous voulez la déplacer vers le panneau wpse210938_panel
, procédez comme suit:
add_action( 'customize_register', 'wpse210938_move_widget_area' );
function wpse210938_move_widget_area () {
global $wp_customize;
$wp_customize->get_section ('sidebar-widgets-wpse210938_area')->panel = 'wpse210938_panel';
}
Le seul inconvénient est que, si vous avez activé le mode débogage, vous aurez un avertissement php "Création d'un objet par défaut à partir d'une valeur vide", probablement parce que WP charge les dernières sections du widget sont encore vides.