web-dev-qa-db-fra.com

Comment envelopper le contenu du widget avec une div ou obtenir le titre du widget à l'extérieur?

Existe-t-il un moyen d'obtenir le titre du widget en dehors de la zone du widget comme suit:

<ul>
   <li>
      <h2 class="widgettitle">The title here</h2>
      <div class=""widget>
         <!-- any markup here -->
      </div>
   </li>
</ul>

au lieu de cela:

<ul>
   <li>
      <div class=""widget>
      <h2 class="widgettitle">The title here</h2>
         <!-- any markup here -->
      </div>
   </li>
</ul>

la seule raison est que je veux que le titre apparaisse au-dessus du widget et que je veuille appliquer un rembourrage à tous les éléments .widget, j'ai essayé de le résoudre avec le style mais il fallait des marges négatives sur le titre, je me demandais si nous pouvions créer une barre latérale avec un balisage comme dans le premier exemple?

et si nous ne pouvons pas le faire, y a-t-il moyen d'envelopper le contenu sans le titre avec un div? comme ça

<ul>
   <li>
      <div class=""widget>
      <h2 class="widgettitle">The title here</h2>
         <div class="widgetcontent">
            <!-- any markup here -->
         </div>
      </div>
   </li>
</ul>

et merci d'avance.

4
Pierre

c'est la solution pour envelopper le contenu après le titre comme celui-ci

'before_widget' => '<li>',
'after_widget'  => '</div></li>',
'before_title'  => '<h2 class="widgettitle">',
'after_title'   => '</h2><div class="widgetcontent">' ); ?>

le balisage important est le <div class="widgetcontent>" dans le after_title et le </div> dans le after_widget, ce qui donnera le balisage html:

<ul>
   <li>
     <h2 class="widgettitle">Title</h2>
     <div class="widgetcontent">
        <!-- widget stuff-->
     </div>
   </li>
</ul>
3
Pierre

vous devriez pouvoir utiliser le code des widgets pour faire ce que vous voulez. Lire cette page widgets api

Cette page vous montrera comment coder un widget et comment mettre tout ce que vous voulez avant ou après le widget en utilisant before_widget et after_widget

0
Jamie