toArray(); }, $labels ); update_option( self::LABELS_KEY, $labelsAsArray ); } public function getLabels( $force = false ): array { if ( empty( $this->labels ) || $force ) { $customLabels = get_option( self::LABELS_KEY, array() ); $instances = array(); foreach ( $customLabels as $label ) { $instances[] = TierLabel::fromArray( $label ); } $this->labels = $instances; } return $this->labels; } public function getLabel( $id ): ?TierLabel { $labels = $this->getLabels(); foreach ( $labels as $label ) { if ( $label->getId() === $id ) { return $label; } } return null; } }