Title: WPML not sync menu
Last modified: August 22, 2016

---

# WPML not sync menu

 *  [Magicianred](https://wordpress.org/support/users/magicianred/)
 * (@magicianred)
 * [11 years, 8 months ago](https://wordpress.org/support/topic/wpml-not-sync-menu/)
 * I had a problem with the plugin and WPML.
 * I have a menu not sync, so UPDATE option don’t save.
 * I resolve with this code:
 *     ```
       public function wp_update_nav_menu_item_action( $item_menu_id, $menu_item_db_id ) {
       		global $sitepress, $icl_menus_sync;
       		$menu_image_settings = array(
       			'menu_item_image_size',
       			'menu_item_image_title_position',
       			'thumbnail_id',
       			'thumbnail_hover_id',
       		);
       		if ( class_exists( 'SitePress' ) && $sitepress instanceof SitePress && class_exists( 'ICLMenusSync' ) && $icl_menus_sync instanceof ICLMenusSync ) {
       			static $run_times = array();
   
       			// iterate synchronized menus
       			foreach ( $icl_menus_sync->menus as $menu_id => $menu_data ) {
       				if ( !isset( $_POST['sync']['add'][$menu_id] ) ) {
       					continue;
       				}
       				// remove cache and get language current item menu
       				$cache_key   = md5( serialize( array( $item_menu_id, 'tax_nav_menu' ) ) );
       				$cache_group = 'get_language_for_element';
       				wp_cache_delete( $cache_key, $cache_group );
       				$lang = $sitepress->get_language_for_element( $item_menu_id, 'tax_nav_menu' );
   
       				if ( !isset( $run_times[$menu_id][$lang] ) ) {
       					$run_times[$menu_id][$lang] = 0;
       				}
   
       				// Count static var for each menu id and saved item language
       				// and get original item id from counted position of synchronized
       				// items from POST data. That's all magic.
       				$post_item_ids = array();
       				foreach ($_POST['sync']['add'][$menu_id] as $id => $lang_array) {
       					if (array_key_exists($lang, $lang_array)) {
       						$post_item_ids[] = $id;
       					}
       				}
       				if ( !array_key_exists( $run_times[$menu_id][$lang], $post_item_ids ) ) {
       					continue;
       				}
       				$orig_item_id = $post_item_ids[$run_times[$menu_id][$lang]];
   
       				// iterate all item settings and save it for new item
       				$orig_item_meta = get_metadata( 'post', $orig_item_id );
       				foreach ( $menu_image_settings as $meta ) {
       					if ( isset( $orig_item_meta["_$meta"] ) && isset( $orig_item_meta["_$meta"][0] ) ) {
       						update_post_meta( $menu_item_db_id, "_$meta", $orig_item_meta["_$meta"][0] );
       					}
       				}
       				$run_times[$menu_id][$lang]++;
       				break;
       			}
       		} elseif ( class_exists( 'SitePress' ) && $sitepress instanceof SitePress ) {
       				$orig_item_id = $menu_item_db_id;
   
       					// iterate all item settings and save it for new item
       					$orig_item_meta = get_metadata( 'post', $orig_item_id );
       					foreach ( $menu_image_settings as $meta ) {
       						//if ( isset( $orig_item_meta["_$meta"] ) && isset( $orig_item_meta["_$meta"][0] ) ) {
       							if (!empty($_POST[$meta][$orig_item_id])) {
       								update_post_meta( $menu_item_db_id, "_$meta", $_POST[$meta][$orig_item_id] );
       							}
       						//}
       					}
       		}
       	}
       ```
   
 * Enjoy your code!
 * [https://wordpress.org/plugins/menu-image/](https://wordpress.org/plugins/menu-image/)

Viewing 2 replies - 1 through 2 (of 2 total)

 *  [zviryatko](https://wordpress.org/support/users/zviryatko/)
 * (@zviryatko)
 * [11 years, 8 months ago](https://wordpress.org/support/topic/wpml-not-sync-menu/#post-5320620)
 * Thanks a lot! Can you describe which version of WordPress and WPML are you use
   to reproduce this bug?
 *  Thread Starter [Magicianred](https://wordpress.org/support/users/magicianred/)
 * (@magicianred)
 * [11 years, 8 months ago](https://wordpress.org/support/topic/wpml-not-sync-menu/#post-5320635)
 * WordPress 3.5 e WPML 3.1.4

Viewing 2 replies - 1 through 2 (of 2 total)

The topic ‘WPML not sync menu’ is closed to new replies.

 * ![](https://ps.w.org/menu-image/assets/icon-128x128.png?rev=2123398)
 * [Menu Image, Icons made easy](https://wordpress.org/plugins/menu-image/)
 * [Frequently Asked Questions](https://wordpress.org/plugins/menu-image/#faq)
 * [Support Threads](https://wordpress.org/support/plugin/menu-image/)
 * [Active Topics](https://wordpress.org/support/plugin/menu-image/active/)
 * [Unresolved Topics](https://wordpress.org/support/plugin/menu-image/unresolved/)
 * [Reviews](https://wordpress.org/support/plugin/menu-image/reviews/)

## Tags

 * [dont save](https://wordpress.org/support/topic-tag/dont-save/)

 * 2 replies
 * 2 participants
 * Last reply from: [Magicianred](https://wordpress.org/support/users/magicianred/)
 * Last activity: [11 years, 8 months ago](https://wordpress.org/support/topic/wpml-not-sync-menu/#post-5320635)
 * Status: not resolved