web-dev-qa-db-fra.com

Dupliquer et modifier la barre latérale pour Twenty Eleven

J'essaie de créer son propre modèle, y compris un sous-menu, au lieu de la barre latérale normale dans Twenty Eleven.

Bien que je réussisse à créer et à sélectionner mon nouveau modèle, la page se termine avec un code CSS incorrect.

Voici ce que j'ai fait

  • Copiez sidebar-page.php et appelez-le submenu-page.php
  • Copiez sidebar.php et appelez-le sidebar-submenu.php

Dans submenu-page.php

Ajout du nouveau nom de modèle " Modèle de menu de gauche de la barre latérale " et modification

<?php get_sidebar(); ?>

à

<?php get_sidebar('submenu'); ?>

In In sidebar-submenu.php

Remplacé tout le code avec Hello World-link.

Même si Hello World apparaît correctement, le lien n'est pas cliquable car la div #primary est omniprésente sur la page.

Pour une raison inconnue, le corps HTML prend la valeur singular et bi-column dans l'attribut class. Si j'édite side-page avec get_sidebar ('sous-menu'), tout a l'air et fonctionne très bien.

Comment puis-je dire à wordpress que mon modèle (submenu-page.php) est constitué de deux colonnes et non de colonnes simples et de deux colonnes?

Merci pour votre temps!

2
Andersson

la mise en page est contrôlée par la classe .singular css, elle-même générée dans functions.php en fonction du modèle. dans votre thème enfant de Twenty Eleven (si vous n’avez pas de thème enfant, créez-en un en premier), ajoutez ce code à functions.php:

add_filter('body_class', 'wpse_28044_adjust_body_class', 20, 2);  
function wpse_28044_adjust_body_class($wp_classes, $extra_classes) { 

if( is_page_template('submenu-page.php') ) : 
// Filter the body classes     

          foreach($wp_classes as $key => $value) {
          if ($value == 'singular') unset($wp_classes[$key]);
          }

endif; 
// Add the extra classes back untouched
return array_merge($wp_classes, (array) $extra_classes ); 
}

si vous voulez faire la modification dans Twenty Eleven directement, éditez functions.php, près du bas (code affiché après l'édition):

if ( is_singular() && ! is_home() && ! is_page_template( 'showcase.php' ) && ! is_page_template( 'sidebar-page.php' ) && ! is_page_template( 'submenu-page.php' ) )
2
Michael