it-swarm.com.de

So duplizieren Sie benutzerdefinierte Menüeinstellungen, um sie auf eine andere Site zu exportieren

Ich versuche, eine Routine zu schreiben, die Elemente aus der Tabelle wp_options abruft, um sie zu einer anderen Site zu transportieren.

Das Problem, das ich habe, ist, dass ich, wenn die Quellwebsite benutzerdefinierte Menüs enthält, diese ebenfalls mitnehmen möchte. Auf welche Tabellendatensätze wird für benutzerdefinierte Menüs verwiesen?

Ich sehe mindestens diese drei in wp_options:

widget_nav_menu
theme_mods_myTheme
myTheme_menus_created
2
N2Mystic

Menüs werden nicht in Optionen gespeichert. Sie sind also durch verschiedene andere Tabellen recht kompliziert verknüpft.

$wpdb->get_results(sprintf("
        select tr.object_id from wp_terms t 
        left join wp_term_taxonomy tt on t.term_id = tt.term_id
        left join wp_term_relationships tr on tt.term_taxonomy_id = tr.term_taxonomy_id
        left join wp_posts p on p.ID=tr.object_id
        left join wp_postmeta m on m.post_id=tr.object_id
        where t.slug ='%s' and tt.taxonomy='nav_menu' group by(ID)
        order by p.menu_order asc LIMIT 200;
        ",$menu));

dabei ist $ menu der Slug des Menüs, z. B. main, footer oder was auch immer Sie es genannt haben.

Die Abfrage beschreibt die Beziehungen, die Sie berücksichtigen müssen.

1
user622018