Widgets in WordPress Themes ermöglichen

Da ich gerade selbst darüber gestolpert bin: Widgetizing Themes

Wie kann ich Widgets in meinem WordPress Theme nutzen?

Gehen wir von folgendem Sidebar-Code aus:

<ul id="sidebar">
 <li id="about">
  <h2>About</h2>
  <p>This is my blog.</p>
 </li>
 <li id="links">
  <h2>Links</h2>
  <ul>
   <li><a href="http://example.com">Example</a></li>
  </ul>
 </li>
</ul>

Mit zwei kleinen Änderungen aktivieren wir Widgets in unserer Sidebar:

<ul id="sidebar">
<?php if ( !function_exists('dynamic_sidebar')
        || !dynamic_sidebar() ) : ?>
 <li id="about">
  <h2>About</h2>
  <p>This is my blog.</p>
 </li>
 <li id="links">
  <h2>Links</h2>
  <ul>
   <li><a href="http://example.com">Example</a></li>
  </ul>
 </li>
<?php endif; ?>
</ul>

Hier die zwei Zeilen noch einmal:

<?php if ( !function_exists('dynamic_sidebar')
        || !dynamic_sidebar() ) : ?>
[...]
<?php endif; ?>

Wenn nun in den Theme-Einstellungen Widgets hinzugefügt werden, werden diese angezeigt, ansonsten die statische Sidebar.

Wollen wir aber unsere komplizierte Sidebarstruktur behalten, die uns eben ganz bestimmte Inhalte in ganz bestimmten Bereichen (Seiten, Blogbereich oder Archiven; siehe Conditional Tags) ausgeben, dann nutzen wir diese zwei Zeilen einfach an einer beliebigen Stelle innerhalb unseres Kontrukts.
Mein Beispiel: Mein Blogbetreiber hat verschiedene inhaltliche Bereiche, die jedesmal mit anderen Sidebarinhalten zusammen gehören. Uns an einer einzigen Stelle (in normalen Blogbetrieb) will er eigenen HTML-Code anzeigen.

Beachte: Wenn wir Widgets nutzen wollen, müssen wir dies in der functions.php unseres Themes aktivieren. Siehe Widgetizing Themes

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.