@@ -155,27 +155,33 @@ public function import_terms() {
155155 * @return void
156156 */
157157 public function add_menu_items () {
158- $ menu_name = esc_html__ ( 'Importer Primary ' , 'material-design ' );
159- wp_delete_nav_menu ( $ menu_name );
160-
161- $ menu_id = wp_create_nav_menu ( $ menu_name );
162- $ menu_items = $ this ->get_menu_items ();
163-
164- foreach ( $ menu_items as $ menu_item ) {
165- $ page = Helpers::get_page_by_title ( $ menu_item );
166- $ page_id = ! empty ( $ page ) ? $ page ->ID : null ;
167-
168- wp_update_nav_menu_item (
169- $ menu_id ,
170- 0 ,
171- [
172- 'menu-item-title ' => $ menu_item ,
173- 'menu-item-status ' => 'publish ' ,
174- 'menu-item-object ' => 'page ' ,
175- 'menu-item-object-id ' => $ page ->ID ,
176- 'menu-item-type ' => 'post_type ' ,
177- ]
178- );
158+ $ menus = get_terms ( 'nav_menu ' , [ 'hide_empty ' => true ] );
159+
160+ if ( ! empty ( $ menus ) && ! empty ( $ menus [0 ] ) ) {
161+ $ menu_id = $ menus [0 ]->term_id ;
162+ } else {
163+ $ menu_name = esc_html__ ( 'Importer Primary ' , 'material-design ' );
164+ wp_delete_nav_menu ( $ menu_name );
165+
166+ $ menu_id = wp_create_nav_menu ( $ menu_name );
167+ $ menu_items = $ this ->get_menu_items ();
168+
169+ foreach ( $ menu_items as $ menu_item ) {
170+ $ page = Helpers::get_page_by_title ( $ menu_item );
171+ $ page_id = ! empty ( $ page ) ? $ page ->ID : null ;
172+
173+ wp_update_nav_menu_item (
174+ $ menu_id ,
175+ 0 ,
176+ [
177+ 'menu-item-title ' => $ menu_item ,
178+ 'menu-item-status ' => 'publish ' ,
179+ 'menu-item-object ' => 'page ' ,
180+ 'menu-item-object-id ' => $ page ->ID ,
181+ 'menu-item-type ' => 'post_type ' ,
182+ ]
183+ );
184+ }
179185 }
180186
181187 $ menu_locations = get_theme_mod ( 'nav_menu_locations ' );
@@ -630,16 +636,14 @@ public function update_blog_info() {
630636
631637 set_theme_mod ( 'material_header_search_display ' , true );
632638
633- if ( $ home_page ) {
639+ if ( $ home_page && empty ( get_option ( ' page_on_front ' ) ) ) {
634640 update_option ( 'page_on_front ' , $ home_page ->ID );
635641 update_option ( 'show_on_front ' , 'page ' );
636642 }
637643
638- if ( $ blog_page ) {
644+ if ( $ blog_page && empty ( get_option ( ' page_for_posts ' ) ) ) {
639645 update_option ( 'page_for_posts ' , $ blog_page ->ID );
640646 }
641-
642- set_theme_mod ( 'material_header_search_display ' , true );
643647 }
644648
645649 /**
0 commit comments