Was ist der einfachste Weg, ein gesamtes Navigationsmenü zu duplizieren?

Was ist der einfachste Weg, ein gesamtes Navigationsmenü zu duplizieren? Es ist mir egal, ob es sich um SQL-Befehle handelt oder was nicht. Ich habe nur ein paar wirklich große Menüs, die ich gerne duplizieren würde. Habe dafür kein Plugin gesehen.

Zur Klarstellung möchte ich das Menü duplizieren, damit ich einige Änderungen daran vornehmen und es als sekundäres Menü an anderer Stelle verwenden kann. Ich versuche nicht, das Menü zweimal anzuzeigen.

wordpress.jpg http://img16.imageshack.us/img16/2006/wordpressg.jpg

Solutions Collecting From Web of "Was ist der einfachste Weg, ein gesamtes Navigationsmenü zu duplizieren?"

UPDATE: Der “einfachste” Weg ist, mein neues Plugin zu benutzen: http://wordpress.org/extend/plugins/enhanced-menu-editor/

Es ist noch nicht genehmigt, aber sobald es soweit ist, werde ich das Widget veröffentlichen. Es ermöglicht nicht nur das Kopieren von Menüs, sondern Sie können auch die Menüstruktur, die Sie im Menüeditor einrichten, mit der Seitenhierarchie der Seiten synchronisieren. So können Sie Drag-and-Drop-Ajax-Coolness verwenden, anstatt hunderte von Seiten manuell zu bearbeiten.

ALTE ANTWORT:

Der einfachste Weg ist die Verwendung von Code. Es gibt zwei functionen, die Sie verwenden möchten:

wp_create_nav_menu() erstellt das Menü selbst und gibt die Menü-ID wp_update_nav_menu_item() die einen neuen Menüeintrag erstellt, wenn Sie 0 für den Menüpunkt id param übergeben.

Dann könnten Sie eine wp_nav_menu-Walker-class verwenden, um über alle vorhandenen Elemente in einem Menü zu iterieren. Diese Website gibt Ihnen einen guten Anhaltspunkt, um damit zu beginnen.

http://www.kriesi.at/archives/improve-your-wordpress-navigation-menu-output

Also rufen Sie zuerst die Menüfunktion create nav auf.

Dann implementieren Sie den Nav Walker auf einer bestimmten Seite. Innerhalb der start_el-function Ihrer walker-class haben Sie Zugriff auf den $ item-Parameter, mit dem Sie wp_update_nav_menu_item () mit identischen Eigenschaften wie das vorhandene Menü aufrufen können, aber nur 0 anstelle der tatsächlichen ID des Elements übergeben, wodurch ein neues erstellt wird Menüpunkt.

Die einzige andere Eigenschaft, die Sie berücksichtigen müssen, ist die menu-item-parent-id weil Sie möchten, dass diese auf Ihren neu erstellten Menüpunkt verweist und nicht auf den alten im anderen Menü. Dazu müssen Sie ein Array erstellen, das alte IDs zu neuen IDs führt.

Wenn Sie ein konkretes Beispiel für diese Lösung haben möchten, senden Sie mir einfach eine E-Mail an marcuspope.com und ich werde sehen, was ich aufbringen kann.

Ich hoffe, das hilft! -Marcus

Also habe ich mit einem ähnlichen Problem gekämpft

  1. Ich wollte viele Menüs erstellen, die basierend auf Berechtigungen angezeigt werden … viele der Elemente waren Duplikate usw., so dass der einfache Weg wahrscheinlich etwas kopieren würde, das bereits existierte

  2. Ich musste dann alle diese Menüs zu mehreren Blogs migrieren, die die gleichen Berechtigungen teilen.

Aber ich bin nur ein halbherziger Programmierer.

Also das ist die Kludel-Lösung, aber es scheint zu funktionieren, keine Programmierung erforderlich

WP hat eine Exportfunktion – wenn Sie einen sauberen Blog haben (und vielleicht auch nicht), scheint es, dass alle Menüpunkte im selben Teil der Exportdatei aufgelistet sind.

Es gibt nur 2 Dinge (möglicherweise), wenn Sie mit einem einzelnen Blog zu tun haben, der geändert werden muss, da Posts und Pages ohnehin aufgrund von doppelten Slugs übersprungen werden

Dies ist die Definition für die benutzerdefinierte Kategorie des Menüs. Du musst den Slug und den CDATA ändern (wo in meinem Beispiel “FA” steht)

3nav_menuFA< ![CDATA[FA]]>

Als nächstes müssen Sie eine Suche durchführen und alle Menüelemente ersetzen, die zu diesem Slug / Kategorie gehören.

< ![CDATA[FA]]>

Sucht wieder nach dem “FA”

Speichern Sie das XML mit einem schönen sauberen Dateinamen.

Dann verwenden Sie das WP-Import-Plugin, um das XML zu importieren

YMMV aber WFM und rettete mich eine Menge Zeit