helpers->isScreenBase( 'term' ) ) ) { $term = is_a( $term, 'WP_Term' ) ? $term : aioseo()->helpers->getTerm(); $termId = ! empty( $term->term_id ) ? $term->term_id : null; if ( empty( $termId ) ) { return parent::getMetaData( $term ); } if ( isset( $this->terms[ $termId ] ) ) { return $this->terms[ $termId ]; } $this->terms[ $termId ] = Models\Term::getTerm( $termId ); if ( ! $this->terms[ $termId ]->exists() ) { $migratedMeta = aioseo()->migration->meta->getMigratedTermMeta( $termId ); if ( ! empty( $migratedMeta ) ) { foreach ( $migratedMeta as $k => $v ) { $this->terms[ $termId ]->{$k} = $v; } $this->terms[ $termId ]->save(); } } return $this->terms[ $termId ]; } return parent::getMetaData( $term ); } /** * Busts the meta data cache for a given term. * * @since 4.1.7 * * @param int $termId The term ID. * @param \AIOSEO\Plugin\Pro\Models\Term $metaData The meta data. * @return void */ public function bustTermCache( $termId, $metaData = null ) { if ( null === $metaData || ! is_a( $metaData, 'AIOSEO\Plugin\Pro\Models\Term' ) ) { unset( $this->terms[ $termId ] ); } $this->terms[ $termId ] = $metaData; } }