it-swarm.com.de

Kann ich meinem benutzerdefinierten Menü Seiten per Skript hinzufügen?

Mein Thema hat eine benutzerdefinierte Menüzuordnung ...

function my_register_my_menus() {
  register_nav_menus(
    array('header-menu' => __( 'Custom Header Menu' ) )
  );
}

... und ich erstelle ein Plugin vom Typ "Installer", das ich bei der Aktivierung in dieses benutzerdefinierte Menü einbinden und ihm einige Seiten zuweisen möchte, als wären sie manuell erstellt worden.

Die Menü-API ist jedoch ziemlich neu und ich konnte bisher keine Beispiele dafür finden.

Ich hoffe, dass mir hier jemand eine Anleitung, Beispiele oder Informationen dazu geben kann.

Danke im Voraus :-)

1
Scott B

Sie können wp_nav_menu_{$menu->slug}_items hook verwenden und Ihren Link mit einer Rückruffunktion hinzufügen. Wenn Ihr Menü-Slug beispielsweise header-menu lautet, dann ist das ungefähr so:

add_filter('wp_nav_menu_header-menu_items', 'add_my_extra_links',10,2);
function add_my_extra_links($items, $args) {
  $newitems = '<li><a title="Test Link" href="http://google.com">Google</a></li>';
  $newitems .= '<li><a title="Test Link" href="http://yahoo.com">Yahoo</a></li>';
  $newitems .= '<li><a title="Test Link" href="http://bing.com">Bing</a></li>';
  $newitems .= $items;
  return $newitems;
}

Aktualisieren

Ich nehme an, Sie müssten wp_save_nav_menu_items aufrufen. Diese Funktion wird zum Speichern der Menüelemente in der Datenbank verwendet.

2
Bainternet