WordPress Themes für WordPress 3.0 vorbereiten

WordPress 3.0 wird zwar noch ein paar Tage brauchen, bevor es veröffentlicht wird. Trotzdem sollte man die Chance nützen, bereits jetzt seine Themes für die neuen Funktionalitäten aus WordPress 3.0 vorzubereiten.

Menü-Management

Heute hat sich zum Menü-Management etwas getan, was man auch schon von den Widgets kennt. Ein Thema muss für den Einsatz des neuen Menü-Managements vorbereitet werden. Ansonsten erhält man folgende Meldung:

„The current theme does not support menus.“

Folgender Code ist notwendig um die Funktion zu aktivieren – einzusetzen in der ‚functions.php‘.

// This theme uses wp_nav_menu()
add_theme_support('nav-menus');

Zusätzlich muss man in seinem Theme die Funktion wp_nav_menu(); einbinden. In den meisten Fällen wird dies innerhalb der ‚header.php‘ des Themes passieren.

Beispiel:

wp_nav_menu('id=navbar&menu_class=headermenu');

Ein kleiner Auszug eines Artikels von Trisha Cupra zum Thema (‚Making Themes Ready for WordPress 3.0 Menus‚):

  • id – The menu id. Defaults to blank.
  • slug – The menu slug. Defaults to blank.
  • menu_class – CSS class to use for the div container of the menu list. Defaults to ‘menu’.
  • format – Whether to format the ul. Defaults to ‘div’.
  • fallback_cb – If the menu doesn’t exists, a callback function will fire. Defaults to ‘wp_page_menu’.
  • before_link – Output text before the link.
  • after_link – Output text after the link.
  • before_title – Output text before the link text.
  • before_title – Output text after the link text.
  • echo – Whether to echo the menu or return it. Defaults to echo.

Nachtrag (25.03.2010):

Im neuen Standard-Theme von WordPress – ‚Twenty Ten‘ findet sich folgendes Code-Snippet:

wp_nav_menu('sort_column=menu_order&container_class=menu-header');
  • sort_column
  • container_class

Ergänzend findet man im Internet noch weitere bzw. abweichende Argumente für die Funktion wp_nav_menu():

  • before – Text before the link text.
  • after – Text after the link text.
  • link_before – Text before the link.
  • link_after – Text after the link.
  • show_home – If you set this argument, then it will display the link to the home page. The show_home argument really just needs to be set to the value of the text of the link.

Wenn ich mir das genauer ansehe, scheint sich dieser Funktionsaufruf noch im Wandel zu befinden. Über das Wochenende werde ich versuchen die Navigation meines eigenen Themes umzustellen, dabei kann ich dann auch zusätzliche Tests machen.