Astra_Ext_Nav_Menu_Markup::set_mega_menu_option( array $req )

Mega set configs


Description


Parameters

$req

(array) (Required) Megamenu request payload.


Return

(string)


Source

File: addons/nav-menu/classes/class-astra-ext-nav-menu-markup.php

		public function set_mega_menu_option( $req ) {

			$fields  = isset( $req['options'] ) ? $req['options'] : array();
			$nav_id  = isset( $req['nav_id'] ) ? sanitize_text_field( $req['nav_id'] ) : '';
			$menu_id = isset( $req['menu_id'] ) ? sanitize_text_field( $req['menu_id'] ) : '';
			$widgets = isset( $req['widgets'] ) ? $req['widgets'] : array();

			if ( ! current_user_can( 'edit_theme_options' ) ) {
				wp_die();
			}

			if ( ! empty( $widgets ) ) {
				$fields['megamenu_widgets_list'] = implode( ',', $widgets );
			}

			if ( ! empty( $fields ) ) {
				// Update meta values.
				foreach ( $fields as $key => $value ) {

					$key = sanitize_text_field( str_replace( 'menu-item-', '', $key ) );

					if ( 'megamenu_custom_text' == $key ) {
						$value = wp_kses_post( wp_unslash( $value ) );
					} else {
						$value = wp_unslash( $value );
					}

					update_post_meta( $menu_id, '_menu_item_' . $key, $value );
				}
			}

			return rest_ensure_response( 'success' );

		}

Changelog

Changelog
Version Description
4.0.0 Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.