activity_types = include plugin_dir_path( ATKAI_PLUGIN_FILE ) . '/activities/types.php'; $this->logger = $logger; add_action( 'wp_update_nav_menu', array( $this, 'atk_menu_created_or_updated' ), 10, 1 ); add_action( 'wp_create_nav_menu', array( $this, 'atk_menu_created_or_updated' ), 10, 1 ); add_action( 'delete_nav_menu', array( $this, 'atk_menu_deleted' ), 10, 3 ); } public function atk_menu_created_or_updated( $menu_id ) { if (!self::$already_run) { if ( $menu_obj = wp_get_nav_menu_object( $menu_id ) ) { if ( 'wp_create_nav_menu' === current_filter() ) { $activity = 'creation'; } else { $activity = 'edit'; } $activity_type = $this->activity_types['menu'][$activity]; $user_id = get_current_user_id(); // Get the current user ID $menu_name = ($menu_obj && !is_wp_error($menu_obj)) ? 'Menu changes to: '. $menu_obj->name .'' : 'Menu changes with id: '. $menu_id; $this->logger->insert_log( $user_id, 'Menu', $activity_type, $menu_name, $activity ); } self::$already_run = true; } } public function atk_menu_deleted( $menu_id, $menu_data, $args) { $menu_obj = wp_get_nav_menu_object( $menu_id ); $menu_name = ($menu_obj && !is_wp_error($menu_obj)) ? 'Menu deleted: '. $menu_obj->name .'' : 'Menu deleted with id: '. $menu_id; $activity_type = $this->activity_types['menu']['deletion']; $user_id = get_current_user_id(); // Get the current user ID $this->logger->insert_log( $user_id, 'Menu', $activity_type, $menu_name, 'deletion' ); } }