diff --git a/migrations/wordpress_categories.yml b/migrations/wordpress_categories.yml index 83136dd14643cc48e5239590f89056b0929dfc68..9338d5931441937e32d05d36cd52b2c051e72c79 100644 --- a/migrations/wordpress_categories.yml +++ b/migrations/wordpress_categories.yml @@ -30,7 +30,10 @@ source: type: string process: # vid is populated dynamically. - name: cat_name + name: + #- plugin: wordpress_migrate_log_term # Uncomment to log terms. + - plugin: get + source: cat_name parent: plugin: migration_lookup migration: wordpress_categories diff --git a/migrations/wordpress_tags.yml b/migrations/wordpress_tags.yml index 2fa5031acda0d4d1e165468a0dce559030402dac..65db7db8c7c01ab1a8df11da841f403aa8e20509 100644 --- a/migrations/wordpress_tags.yml +++ b/migrations/wordpress_tags.yml @@ -26,7 +26,10 @@ source: type: string process: # vid is populated dynamically. - name: tag_name + name: + #- plugin: wordpress_migrate_log_term # Uncomment to log terms. + - plugin: get + source: tag_name destination: plugin: entity:taxonomy_term migration_dependencies: {} diff --git a/src/Plugin/migrate/process/LogTerm.php b/src/Plugin/migrate/process/LogTerm.php new file mode 100644 index 0000000000000000000000000000000000000000..ba5a70c8156f628767f3fbf5c7c19253bb32e14f --- /dev/null +++ b/src/Plugin/migrate/process/LogTerm.php @@ -0,0 +1,50 @@ +<?php +/** + * Provides migrate process plugin "wordpress_migrate_log_term". Will log term + * ID, Name, Slug, Destination. + */ +namespace Drupal\wordpress_migrate\Plugin\migrate\process; + +use Drupal\migrate\ProcessPluginBase; +use Drupal\migrate\MigrateExecutableInterface; +use Drupal\migrate\Row; +//use Drupal\migrate\MigrateSkipProcessException; + +/** +* @MigrateProcessPlugin( +* id = "wordpress_migrate_log_term" +* ) +*/ +class LogTerm extends ProcessPluginBase { + public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) { + $source = $row->getSource(); + + // Get original values for debugging + $term_id = ''; + $name = ''; + $slug = ''; + + if (isset($source['tag_slug'])) { + // This is a tag + $term_id = $source['term_id'] ?? 'unknown'; + $name = $source['tag_name'] ?? 'unknown'; + $slug = $source['tag_slug'] ?? 'unknown'; + } + elseif (isset($source['category_nicename'])) { + // This is a category + $term_id = $source['term_id'] ?? 'unknown'; + $name = $source['cat_name'] ?? 'unknown'; + $slug = $source['category_nicename'] ?? 'unknown'; + } + + \Drupal::logger('wordpress_migrate')->debug('Processing term: Term ID=@id, Name=@name, Slug=@slug, Destination=@dest, Value=@value', [ + '@id' => $term_id, + '@name' => $name, + '@slug' => $slug, + '@dest' => $destination_property, + '@value' => $value, + ]); + + return $value; + } +}