2013-07-21 15 views
8

Wie funktioniert die Funktion exact($args)?
Was bedeutet $before_widget, $after_widget?

Antwort

1

Die $before_widget und $after_widget sind Argumente in der register_sidebar Funktion.

Widgets sind nur verfügbar, wenn sie zu Seitenleisten hinzugefügt werden. Mit der Funktion register_sidebar können Sie HTML angeben, um das Widget zu umbrechen. In der Regel würde $before_widget auf so etwas wie <div id="1%$s" class="widget"> oder <li id="%1$s" class="widget %2$s"> (Standard) und $after_widget würde so etwas wie </div> oder </li> (Standard) gesetzt werden.

Dann extrahieren Sie diese Argumente in Ihrem Widget aus der Seitenleiste, um sie in der Ausgabe Ihrer Widget-Instanz zu verwenden.

+0

+1 für die Erklärung, wie diese Argumente zu extrahieren, kämpfte ich damit. – Greeso

5

In siderbars möchten Sie vielleicht Ihren Widgets eine eigene Klasse hinzufügen, wie <div class="well beforeW">, damit all Ihre Widgets dieselben Stile haben, die Sie bereits in style.css definiert haben.

manchmal hinzufügen Designer einen kurvigen Schatten an der Unterseite jedes Widgets, so dass Sie es ein Bild machen müssen, so und nach Widget ist Ihre Rettung, Sie tun dies bei nach Widget </div><span class="specialShadow"></span>.

Auf diese Weise können Sie neue Elemente vor und nach einem beliebigen Widget hinzufügen.

Beispiel:

register_sidebar(array('name'=>'Footer-Sidebar', 
'before_widget' => '<div class="ftr-widget">', 
'after_widget' => '</div><span class="specailShadow"></span>', 
'before_title' => '<h3>', 
'after_title' => '</h3>', 
)); 

obigen Beispiel zu bemerken, das ist, wie Sie $ args in Funktionen einsetzen. oder in übersichtlicher Weise:

$args = array('name'=>'Footer-Sidebar', 
'before_widget' => '<div class="ftr-widget">', 
'after_widget' => '</div><span class="specailShadow"></span>', 
'before_title' => '<h3>', 
'after_title' => '</h3>', 
); 
register_sidebar($args); 
1

Dieser Code wird in der Datei functions.php abgelegt. register_widget ('Twenty_Eleven_Ephemera_Widget');

register_sidebar(array(
    'name' => __('Main Sidebar', 'twentyeleven'), 
    'id' => 'sidebar-1', 
    'before_widget' => '<aside id="%1$s" class="widget %2$s">', 
    'after_widget' => "</aside>", 
    'before_title' => '<h3 class="widget-title">', 
    'after_title' => '</h3>', 
)); 



     before_widget - HTML to place before every widget(default: '<li id="%1$s" class="widget   %2$s">') 
     after_widget - HTML to place after every widget (default: "</li>\n"). 
Verwandte Themen