addFilter( 'wp_nav_menu_args', 'wp_nav_menu_args', 99 );
$this->addFilter( 'wp_edit_nav_menu_walker', 'wp_edit_nav_menu_walker', 10, 2 );
$this->addFilter( 'wp_setup_nav_menu_item', 'wp_setup_nav_menu_item', 10, 1 );
$this->addAction( 'wp_update_nav_menu_item', 'wp_update_nav_menu_item', 10, 3 );
$this->addAction( 'rox_mega_menu_fields', 'rox_mega_menu_fields', 10, 2 );
$this->addAction( 'rox_mega_menu_labels', 'rox_mega_menu_labels' );
}
/**
*
* Menu Menu Fields
* @since 1.0.0
* @version 1.0.0
*
*/
public function rox_mega_menu_fields( $item_id, $item ) {
?>
icon ) ) ? ' hidden' : '';
$icon = ( !empty( $item->icon ) ) ? ' class="'. rox_icon_class( $item->icon ) . '"' : '';
?>
Mega Menu';
$out .= 'Column';
echo wp_kses_post($out);
}
/**
*
* Custom Menu Args
* @since 1.0.0
* @version 1.1.0
*
*/
public function wp_nav_menu_args( $args ) {
$location = $args['theme_location'];
if( ( $location == 'primary' || $location == 'right' ) && ! isset( $args['mobile'] ) ) {
//$header = rox_get_option( 'header_style' );
$walker = new Walker_Nav_Menu_Custom();
$args['container'] = false;
$args['menu_class'] = 'main-navigation sf-menu';
$args['walker'] = $walker;
// if( ( $location == 'primary' && $header != 'fancy' ) || ( $location == 'right' && $header == 'fancy' ) ) {
// $args['items_wrap'] = $walker->custom_wrap();
// }
} else if ( isset( $args['mobile'] ) || $location == 'mobile' ) {
$args['after'] = '
';
}
return $args;
}
/**
*
* Custom Nav Menu Edit
* @since 1.0.0
* @version 1.0.0
*
*/
public function wp_edit_nav_menu_walker( $walker, $menu_id ) {
return 'Walker_Nav_Menu_Edit_Custom';
}
/**
*
* Save Custom Fields
* @since 1.0.0
* @version 1.0.0
*
*/
public function wp_setup_nav_menu_item( $item ) {
foreach ( $this->extra_fields as $key ) {
$item->$key = get_post_meta( $item->ID, '_menu_item_'. $key, true );
}
return $item;
}
/**
*
* Update Custom Fields
* @since 1.0.0
* @version 1.0.0
*
*/
public function wp_update_nav_menu_item( $menu_id, $menu_item_db_id, $args ) {
foreach ( $this->extra_fields as $key ) {
$value = ( isset( $_REQUEST['menu-item-'.$key][$menu_item_db_id] ) ) ? $_REQUEST['menu-item-'.$key][$menu_item_db_id] : '';
update_post_meta( $menu_item_db_id, '_menu_item_'. $key, $value );
}
}
}
new PXLRMegamenuAPI();