You are here

protected function WordPressMigrationGenerator::termField in WordPress Migrate 8.3

Returns the first field referencing a given vocabulary.

Parameters

string $bundle: Name of bundle.

string $vocabulary: Name of vocabulary.

Return value

string Empty string.

1 call to WordPressMigrationGenerator::termField()
WordPressMigrationGenerator::createContentMigration in src/WordPressMigrationGenerator.php
Setup the migration for a given WordPress content type.

File

src/WordPressMigrationGenerator.php, line 281

Class

WordPressMigrationGenerator
Functionality to construct WordPress migrations from broad configuration settings.

Namespace

Drupal\wordpress_migrate

Code

protected function termField($bundle, $vocabulary) {

  /** @var \Drupal\Core\Field\FieldDefinitionInterface[] $all_fields */
  $all_fields = \Drupal::service('entity_field.manager')
    ->getFieldDefinitions('node', $bundle);
  foreach ($all_fields as $field_name => $field_definition) {
    if ($field_definition
      ->getType() == 'entity_reference') {
      $storage = $field_definition
        ->getFieldStorageDefinition();
      if ($storage
        ->getSetting('target_type') == 'taxonomy_term') {
        $handler_settings = $field_definition
          ->getSetting('handler_settings');
        if (isset($handler_settings['target_bundles'][$vocabulary])) {
          return $field_name;
        }
      }
    }
  }
  return '';
}