@@ -191,55 +191,28 @@ public function add_top_bar_menus($wp_admin_bar): void {
191191 }
192192
193193 /*
194- * Add the sub-menus.
194+ * Add the settings sub-menus.
195195 */
196- $ settings_tabs = Settings::get_instance ()->get_sections ();
196+ if (current_user_can ('wu_read_settings ' )) {
197+ $ settings_tabs = Settings::get_instance ()->get_sections ();
197198
198- $ addon_tabs = [];
199+ $ addon_tabs = [];
199200
200- foreach ($ settings_tabs as $ tab => $ tab_info ) {
201- if (wu_get_isset ($ tab_info , 'invisible ' )) {
202- continue ;
203- }
201+ foreach ($ settings_tabs as $ tab => $ tab_info ) {
202+ if (wu_get_isset ($ tab_info , 'invisible ' )) {
203+ continue ;
204+ }
204205
205- if (wu_get_isset ($ tab_info , 'addon ' , false )) {
206- $ addon_tabs [ $ tab ] = $ tab_info ;
206+ if (wu_get_isset ($ tab_info , 'addon ' , false )) {
207+ $ addon_tabs [ $ tab ] = $ tab_info ;
207208
208- continue ;
209- }
209+ continue ;
210+ }
210211
211- $ wp_admin_bar ->add_node (
212- [
213- 'id ' => 'wp-ultimo-settings- ' . $ tab ,
214- 'parent ' => 'wp-ultimo-settings ' ,
215- 'title ' => $ tab_info ['title ' ],
216- 'href ' => network_admin_url ('admin.php?page=wp-ultimo-settings&tab= ' ) . $ tab ,
217- 'meta ' => [
218- 'class ' => 'wp-ultimo-top-menu ' ,
219- 'title ' => __ ('Go to the settings page ' , 'ultimate-multisite ' ),
220- ],
221- ]
222- );
223- }
224-
225- if ($ addon_tabs ) {
226- $ wp_admin_bar ->add_node (
227- [
228- 'id ' => 'wp-ultimo-settings-addons ' ,
229- 'parent ' => 'wp-ultimo-settings ' ,
230- 'group ' => true ,
231- 'title ' => __ ('Addon Settings ' , 'ultimate-multisite ' ),
232- 'meta ' => [
233- 'class ' => 'ab-sub-secondary ' ,
234- ],
235- ]
236- );
237-
238- foreach ($ addon_tabs as $ tab => $ tab_info ) {
239212 $ wp_admin_bar ->add_node (
240213 [
241214 'id ' => 'wp-ultimo-settings- ' . $ tab ,
242- 'parent ' => 'wp-ultimo-settings-addons ' ,
215+ 'parent ' => 'wp-ultimo-settings ' ,
243216 'title ' => $ tab_info ['title ' ],
244217 'href ' => network_admin_url ('admin.php?page=wp-ultimo-settings&tab= ' ) . $ tab ,
245218 'meta ' => [
@@ -249,6 +222,35 @@ public function add_top_bar_menus($wp_admin_bar): void {
249222 ]
250223 );
251224 }
225+
226+ if ($ addon_tabs ) {
227+ $ wp_admin_bar ->add_node (
228+ [
229+ 'id ' => 'wp-ultimo-settings-addons ' ,
230+ 'parent ' => 'wp-ultimo-settings ' ,
231+ 'group ' => true ,
232+ 'title ' => __ ('Addon Settings ' , 'ultimate-multisite ' ),
233+ 'meta ' => [
234+ 'class ' => 'ab-sub-secondary ' ,
235+ ],
236+ ]
237+ );
238+
239+ foreach ($ addon_tabs as $ tab => $ tab_info ) {
240+ $ wp_admin_bar ->add_node (
241+ [
242+ 'id ' => 'wp-ultimo-settings- ' . $ tab ,
243+ 'parent ' => 'wp-ultimo-settings-addons ' ,
244+ 'title ' => $ tab_info ['title ' ],
245+ 'href ' => network_admin_url ('admin.php?page=wp-ultimo-settings&tab= ' ) . $ tab ,
246+ 'meta ' => [
247+ 'class ' => 'wp-ultimo-top-menu ' ,
248+ 'title ' => __ ('Go to the settings page ' , 'ultimate-multisite ' ),
249+ ],
250+ ]
251+ );
252+ }
253+ }
252254 }
253255 }
254256}
0 commit comments