WordPress – Egyedi Widget

Ha olyan problémába ütközünk, hogy szükségünk van egy widgetre, de nem az alapértelmezett widget barokat szeretnénk használni a megjelenítésre, akkor bizony bele kell nyúlnunk a kódokba.

Szerencsére nagyon egyszerű dolgunk van.

Az alábbi kódot szúrjuk be a function.php-be

if ( function_exists('register_sidebar') ) {
	register_sidebar(array(
		'name' => 'Custom Sidebar',
		'id' => 'custom-sidebar',
		'description' => 'Sidebar below Header image',
		'before_widget' => '
	<li id="%1$s">',
		'after_widget' => '</li>
',
		'before_title' => '
<h2>',
		'after_title' => '</h2>
',
	));
}

Ezzel már láthatóvá válik a Widgetek között a Custom Sidebar névre hallgató Widget barunk.

Ezek után már csak annyi dolgunk van, hogy beillesztjük oda az alábbi kódot, ahol meg szeretnék jeleníteni azt a bizonyos widget bar-t.

<div id="custom-sidebar">
<ul>
      <?php
      if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('custom-sidebar') ) :
      endif; ?></ul>
<div style="clear:both"></div>
</div>

A style.css módosítását már rátok bízom, itt egy példa:

div#custom-sidebar ul {
	line-height: 20px;
}

div#custom-sidebar li.widget {
	width: 300px;
	margin:0 0 15px 20px;
	float:left;
}

div#custom-sidebar li.widget h2 {
	margin-bottom: 15px;
}