# jc-importer/2.8.3/class/Common/Importer/Template/TemplateManager.php

Import WP – CSV &amp; XML Import Export for WordPress, version 2.8.3. 56 lines.

- Page: https://pluginprobe.com/plugins/jc-importer/2.8.3/code/class/Common/Importer/Template/TemplateManager.php
- Raw: https://pluginprobe.com/plugins/jc-importer/2.8.3/raw/class/Common/Importer/Template/TemplateManager.php
- Modified: 2023-11-06T22:02:46+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/jc-importer/2.8.3/code/class/Common/Importer/Template/TemplateManager.php#L10-L20`.

```php
<?php

namespace ImportWP\Common\Importer\Template;

use ImportWP\EventHandler;

class TemplateManager
{
    /**
     * @var EventHandler
     */
    protected $event_handler;

    public function __construct(EventHandler $event_handler)
    {
        $this->event_handler = $event_handler;
    }

    public function load_template($name)
    {
        $template =  new $name($this->event_handler);
        return $template;
    }

    public static function get_template_unique_fields($template_class)
    {
        // Hard coded unique fields
        $unique_fields = [];
        $mapper_id = $template_class->get_mapper();
        switch ($mapper_id) {
            case 'user':
                $unique_fields = ['user_email', 'user_login'];
                break;
            case 'page':
            case 'post':
            case 'custom-post-type':
            case 'attachment':
                $unique_fields = ['ID', 'post_name'];
                break;
            case 'attachment':
                $unique_fields = ['ID', 'post_name', 'src'];
                break;
            case 'term':
                $unique_fields = ['term_id', 'slug', 'name'];
                break;
            case 'comment':
                $unique_fields = ['comment_ID', '_iwp_ref_id'];
                break;
        }

        $unique_fields = apply_filters('iwp/mapper/unique_fields', $unique_fields, $mapper_id);

        return $unique_fields;
    }
}

```
