wp_get_popular_importers

The timeline below displays how wordpress function wp_get_popular_importers has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 5.4

/**
 * Returns a list from WordPress.org of popular importer plugins.
 *
 * @since 3.5.0
 *
 * @return array Importers with metadata for each.
 */
function wp_get_popular_importers()
{
    // Include an unmodified $wp_version.
    require ABSPATH . WPINC . '/version.php';
    $locale = get_user_locale();
    $cache_key = 'popular_importers_' . md5($locale . $wp_version);
    $popular_importers = get_site_transient($cache_key);
    if (!$popular_importers) {
        $url = add_query_arg(array('locale' => $locale, 'version' => $wp_version), 'http://api.wordpress.org/core/importers/1.1/');
        $options = array('user-agent' => 'WordPress/' . $wp_version . '; ' . home_url('/'));
        if (wp_http_supports(array('ssl'))) {
            $url = set_url_scheme($url, 'https');
        }
        $response = wp_remote_get($url, $options);
        $popular_importers = json_decode(wp_remote_retrieve_body($response), true);
        if (is_array($popular_importers)) {
            set_site_transient($cache_key, $popular_importers, 2 * DAY_IN_SECONDS);
        } else {
            $popular_importers = false;
        }
    }
    if (is_array($popular_importers)) {
        // If the data was received as translated, return it as-is.
        if ($popular_importers['translated']) {
            return $popular_importers['importers'];
        }
        foreach ($popular_importers['importers'] as &$importer) {
            // phpcs:ignore WordPress.WP.I18n.LowLevelTranslationFunction,WordPress.WP.I18n.NonSingularStringLiteralText
            $importer['description'] = translate($importer['description']);
            if ('WordPress' !== $importer['name']) {
                // phpcs:ignore WordPress.WP.I18n.LowLevelTranslationFunction,WordPress.WP.I18n.NonSingularStringLiteralText
                $importer['name'] = translate($importer['name']);
            }
        }
        return $popular_importers['importers'];
    }
    return array(
        // slug => name, description, plugin slug, and register_importer() slug.
        'blogger' => array('name' => __('Blogger'), 'description' => __('Import posts, comments, and users from a Blogger blog.'), 'plugin-slug' => 'blogger-importer', 'importer-id' => 'blogger'),
        'wpcat2tag' => array('name' => __('Categories and Tags Converter'), 'description' => __('Convert existing categories to tags or tags to categories, selectively.'), 'plugin-slug' => 'wpcat2tag-importer', 'importer-id' => 'wp-cat2tag'),
        'livejournal' => array('name' => __('LiveJournal'), 'description' => __('Import posts from LiveJournal using their API.'), 'plugin-slug' => 'livejournal-importer', 'importer-id' => 'livejournal'),
        'movabletype' => array('name' => __('Movable Type and TypePad'), 'description' => __('Import posts and comments from a Movable Type or TypePad blog.'), 'plugin-slug' => 'movabletype-importer', 'importer-id' => 'mt'),
        'rss' => array('name' => __('RSS'), 'description' => __('Import posts from an RSS feed.'), 'plugin-slug' => 'rss-importer', 'importer-id' => 'rss'),
        'tumblr' => array('name' => __('Tumblr'), 'description' => __('Import posts & media from Tumblr using their API.'), 'plugin-slug' => 'tumblr-importer', 'importer-id' => 'tumblr'),
        'wordpress' => array('name' => 'WordPress', 'description' => __('Import posts, pages, comments, custom fields, categories, and tags from a WordPress export file.'), 'plugin-slug' => 'wordpress-importer', 'importer-id' => 'wordpress'),
    );
}

WordPress Version: 5.1

/**
 * Returns a list from WordPress.org of popular importer plugins.
 *
 * @since 3.5.0
 *
 * @return array Importers with metadata for each.
 */
function wp_get_popular_importers()
{
    include ABSPATH . WPINC . '/version.php';
    // include an unmodified $wp_version
    $locale = get_user_locale();
    $cache_key = 'popular_importers_' . md5($locale . $wp_version);
    $popular_importers = get_site_transient($cache_key);
    if (!$popular_importers) {
        $url = add_query_arg(array('locale' => $locale, 'version' => $wp_version), 'http://api.wordpress.org/core/importers/1.1/');
        $options = array('user-agent' => 'WordPress/' . $wp_version . '; ' . home_url('/'));
        if (wp_http_supports(array('ssl'))) {
            $url = set_url_scheme($url, 'https');
        }
        $response = wp_remote_get($url, $options);
        $popular_importers = json_decode(wp_remote_retrieve_body($response), true);
        if (is_array($popular_importers)) {
            set_site_transient($cache_key, $popular_importers, 2 * DAY_IN_SECONDS);
        } else {
            $popular_importers = false;
        }
    }
    if (is_array($popular_importers)) {
        // If the data was received as translated, return it as-is.
        if ($popular_importers['translated']) {
            return $popular_importers['importers'];
        }
        foreach ($popular_importers['importers'] as &$importer) {
            // phpcs:ignore WordPress.WP.I18n.LowLevelTranslationFunction,WordPress.WP.I18n.NonSingularStringLiteralText
            $importer['description'] = translate($importer['description']);
            if ($importer['name'] != 'WordPress') {
                // phpcs:ignore WordPress.WP.I18n.LowLevelTranslationFunction,WordPress.WP.I18n.NonSingularStringLiteralText
                $importer['name'] = translate($importer['name']);
            }
        }
        return $popular_importers['importers'];
    }
    return array(
        // slug => name, description, plugin slug, and register_importer() slug
        'blogger' => array('name' => __('Blogger'), 'description' => __('Import posts, comments, and users from a Blogger blog.'), 'plugin-slug' => 'blogger-importer', 'importer-id' => 'blogger'),
        'wpcat2tag' => array('name' => __('Categories and Tags Converter'), 'description' => __('Convert existing categories to tags or tags to categories, selectively.'), 'plugin-slug' => 'wpcat2tag-importer', 'importer-id' => 'wp-cat2tag'),
        'livejournal' => array('name' => __('LiveJournal'), 'description' => __('Import posts from LiveJournal using their API.'), 'plugin-slug' => 'livejournal-importer', 'importer-id' => 'livejournal'),
        'movabletype' => array('name' => __('Movable Type and TypePad'), 'description' => __('Import posts and comments from a Movable Type or TypePad blog.'), 'plugin-slug' => 'movabletype-importer', 'importer-id' => 'mt'),
        'opml' => array('name' => __('Blogroll'), 'description' => __('Import links in OPML format.'), 'plugin-slug' => 'opml-importer', 'importer-id' => 'opml'),
        'rss' => array('name' => __('RSS'), 'description' => __('Import posts from an RSS feed.'), 'plugin-slug' => 'rss-importer', 'importer-id' => 'rss'),
        'tumblr' => array('name' => __('Tumblr'), 'description' => __('Import posts & media from Tumblr using their API.'), 'plugin-slug' => 'tumblr-importer', 'importer-id' => 'tumblr'),
        'wordpress' => array('name' => 'WordPress', 'description' => __('Import posts, pages, comments, custom fields, categories, and tags from a WordPress export file.'), 'plugin-slug' => 'wordpress-importer', 'importer-id' => 'wordpress'),
    );
}

WordPress Version: 4.9

/**
 * Returns a list from WordPress.org of popular importer plugins.
 *
 * @since 3.5.0
 *
 * @return array Importers with metadata for each.
 */
function wp_get_popular_importers()
{
    include ABSPATH . WPINC . '/version.php';
    // include an unmodified $wp_version
    $locale = get_user_locale();
    $cache_key = 'popular_importers_' . md5($locale . $wp_version);
    $popular_importers = get_site_transient($cache_key);
    if (!$popular_importers) {
        $url = add_query_arg(array('locale' => $locale, 'version' => $wp_version), 'http://api.wordpress.org/core/importers/1.1/');
        $options = array('user-agent' => 'WordPress/' . $wp_version . '; ' . home_url('/'));
        if (wp_http_supports(array('ssl'))) {
            $url = set_url_scheme($url, 'https');
        }
        $response = wp_remote_get($url, $options);
        $popular_importers = json_decode(wp_remote_retrieve_body($response), true);
        if (is_array($popular_importers)) {
            set_site_transient($cache_key, $popular_importers, 2 * DAY_IN_SECONDS);
        } else {
            $popular_importers = false;
        }
    }
    if (is_array($popular_importers)) {
        // If the data was received as translated, return it as-is.
        if ($popular_importers['translated']) {
            return $popular_importers['importers'];
        }
        foreach ($popular_importers['importers'] as &$importer) {
            $importer['description'] = translate($importer['description']);
            if ($importer['name'] != 'WordPress') {
                $importer['name'] = translate($importer['name']);
            }
        }
        return $popular_importers['importers'];
    }
    return array(
        // slug => name, description, plugin slug, and register_importer() slug
        'blogger' => array('name' => __('Blogger'), 'description' => __('Import posts, comments, and users from a Blogger blog.'), 'plugin-slug' => 'blogger-importer', 'importer-id' => 'blogger'),
        'wpcat2tag' => array('name' => __('Categories and Tags Converter'), 'description' => __('Convert existing categories to tags or tags to categories, selectively.'), 'plugin-slug' => 'wpcat2tag-importer', 'importer-id' => 'wp-cat2tag'),
        'livejournal' => array('name' => __('LiveJournal'), 'description' => __('Import posts from LiveJournal using their API.'), 'plugin-slug' => 'livejournal-importer', 'importer-id' => 'livejournal'),
        'movabletype' => array('name' => __('Movable Type and TypePad'), 'description' => __('Import posts and comments from a Movable Type or TypePad blog.'), 'plugin-slug' => 'movabletype-importer', 'importer-id' => 'mt'),
        'opml' => array('name' => __('Blogroll'), 'description' => __('Import links in OPML format.'), 'plugin-slug' => 'opml-importer', 'importer-id' => 'opml'),
        'rss' => array('name' => __('RSS'), 'description' => __('Import posts from an RSS feed.'), 'plugin-slug' => 'rss-importer', 'importer-id' => 'rss'),
        'tumblr' => array('name' => __('Tumblr'), 'description' => __('Import posts & media from Tumblr using their API.'), 'plugin-slug' => 'tumblr-importer', 'importer-id' => 'tumblr'),
        'wordpress' => array('name' => 'WordPress', 'description' => __('Import posts, pages, comments, custom fields, categories, and tags from a WordPress export file.'), 'plugin-slug' => 'wordpress-importer', 'importer-id' => 'wordpress'),
    );
}

WordPress Version: 4.7

/**
 * Returns a list from WordPress.org of popular importer plugins.
 *
 * @since 3.5.0
 *
 * @return array Importers with metadata for each.
 */
function wp_get_popular_importers()
{
    include ABSPATH . WPINC . '/version.php';
    // include an unmodified $wp_version
    $locale = get_user_locale();
    $cache_key = 'popular_importers_' . md5($locale . $wp_version);
    $popular_importers = get_site_transient($cache_key);
    if (!$popular_importers) {
        $url = add_query_arg(array('locale' => get_user_locale(), 'version' => $wp_version), 'http://api.wordpress.org/core/importers/1.1/');
        $options = array('user-agent' => 'WordPress/' . $wp_version . '; ' . home_url());
        $response = wp_remote_get($url, $options);
        $popular_importers = json_decode(wp_remote_retrieve_body($response), true);
        if (is_array($popular_importers)) {
            set_site_transient($cache_key, $popular_importers, 2 * DAY_IN_SECONDS);
        } else {
            $popular_importers = false;
        }
    }
    if (is_array($popular_importers)) {
        // If the data was received as translated, return it as-is.
        if ($popular_importers['translated']) {
            return $popular_importers['importers'];
        }
        foreach ($popular_importers['importers'] as &$importer) {
            $importer['description'] = translate($importer['description']);
            if ($importer['name'] != 'WordPress') {
                $importer['name'] = translate($importer['name']);
            }
        }
        return $popular_importers['importers'];
    }
    return array(
        // slug => name, description, plugin slug, and register_importer() slug
        'blogger' => array('name' => __('Blogger'), 'description' => __('Import posts, comments, and users from a Blogger blog.'), 'plugin-slug' => 'blogger-importer', 'importer-id' => 'blogger'),
        'wpcat2tag' => array('name' => __('Categories and Tags Converter'), 'description' => __('Convert existing categories to tags or tags to categories, selectively.'), 'plugin-slug' => 'wpcat2tag-importer', 'importer-id' => 'wp-cat2tag'),
        'livejournal' => array('name' => __('LiveJournal'), 'description' => __('Import posts from LiveJournal using their API.'), 'plugin-slug' => 'livejournal-importer', 'importer-id' => 'livejournal'),
        'movabletype' => array('name' => __('Movable Type and TypePad'), 'description' => __('Import posts and comments from a Movable Type or TypePad blog.'), 'plugin-slug' => 'movabletype-importer', 'importer-id' => 'mt'),
        'opml' => array('name' => __('Blogroll'), 'description' => __('Import links in OPML format.'), 'plugin-slug' => 'opml-importer', 'importer-id' => 'opml'),
        'rss' => array('name' => __('RSS'), 'description' => __('Import posts from an RSS feed.'), 'plugin-slug' => 'rss-importer', 'importer-id' => 'rss'),
        'tumblr' => array('name' => __('Tumblr'), 'description' => __('Import posts & media from Tumblr using their API.'), 'plugin-slug' => 'tumblr-importer', 'importer-id' => 'tumblr'),
        'wordpress' => array('name' => 'WordPress', 'description' => __('Import posts, pages, comments, custom fields, categories, and tags from a WordPress export file.'), 'plugin-slug' => 'wordpress-importer', 'importer-id' => 'wordpress'),
    );
}

WordPress Version: 4.6

/**
 * Returns a list from WordPress.org of popular importer plugins.
 *
 * @since 3.5.0
 *
 * @return array Importers with metadata for each.
 */
function wp_get_popular_importers()
{
    include ABSPATH . WPINC . '/version.php';
    // include an unmodified $wp_version
    $locale = get_locale();
    $cache_key = 'popular_importers_' . md5($locale . $wp_version);
    $popular_importers = get_site_transient($cache_key);
    if (!$popular_importers) {
        $url = add_query_arg(array('locale' => get_locale(), 'version' => $wp_version), 'http://api.wordpress.org/core/importers/1.1/');
        $options = array('user-agent' => 'WordPress/' . $wp_version . '; ' . home_url());
        $response = wp_remote_get($url, $options);
        $popular_importers = json_decode(wp_remote_retrieve_body($response), true);
        if (is_array($popular_importers)) {
            set_site_transient($cache_key, $popular_importers, 2 * DAY_IN_SECONDS);
        } else {
            $popular_importers = false;
        }
    }
    if (is_array($popular_importers)) {
        // If the data was received as translated, return it as-is.
        if ($popular_importers['translated']) {
            return $popular_importers['importers'];
        }
        foreach ($popular_importers['importers'] as &$importer) {
            $importer['description'] = translate($importer['description']);
            if ($importer['name'] != 'WordPress') {
                $importer['name'] = translate($importer['name']);
            }
        }
        return $popular_importers['importers'];
    }
    return array(
        // slug => name, description, plugin slug, and register_importer() slug
        'blogger' => array('name' => __('Blogger'), 'description' => __('Import posts, comments, and users from a Blogger blog.'), 'plugin-slug' => 'blogger-importer', 'importer-id' => 'blogger'),
        'wpcat2tag' => array('name' => __('Categories and Tags Converter'), 'description' => __('Convert existing categories to tags or tags to categories, selectively.'), 'plugin-slug' => 'wpcat2tag-importer', 'importer-id' => 'wp-cat2tag'),
        'livejournal' => array('name' => __('LiveJournal'), 'description' => __('Import posts from LiveJournal using their API.'), 'plugin-slug' => 'livejournal-importer', 'importer-id' => 'livejournal'),
        'movabletype' => array('name' => __('Movable Type and TypePad'), 'description' => __('Import posts and comments from a Movable Type or TypePad blog.'), 'plugin-slug' => 'movabletype-importer', 'importer-id' => 'mt'),
        'opml' => array('name' => __('Blogroll'), 'description' => __('Import links in OPML format.'), 'plugin-slug' => 'opml-importer', 'importer-id' => 'opml'),
        'rss' => array('name' => __('RSS'), 'description' => __('Import posts from an RSS feed.'), 'plugin-slug' => 'rss-importer', 'importer-id' => 'rss'),
        'tumblr' => array('name' => __('Tumblr'), 'description' => __('Import posts & media from Tumblr using their API.'), 'plugin-slug' => 'tumblr-importer', 'importer-id' => 'tumblr'),
        'wordpress' => array('name' => 'WordPress', 'description' => __('Import posts, pages, comments, custom fields, categories, and tags from a WordPress export file.'), 'plugin-slug' => 'wordpress-importer', 'importer-id' => 'wordpress'),
    );
}

WordPress Version: 3.7

/**
 * Returns a list from WordPress.org of popular importer plugins.
 *
 * @since 3.5.0
 *
 * @return array Importers with metadata for each.
 */
function wp_get_popular_importers()
{
    include ABSPATH . WPINC . '/version.php';
    // include an unmodified $wp_version
    $locale = get_locale();
    $popular_importers = get_site_transient('popular_importers_' . $locale);
    if (!$popular_importers) {
        $url = add_query_arg('locale', get_locale(), 'http://api.wordpress.org/core/importers/1.1/');
        $options = array('user-agent' => 'WordPress/' . $wp_version . '; ' . home_url());
        $response = wp_remote_get($url, $options);
        $popular_importers = json_decode(wp_remote_retrieve_body($response), true);
        if (is_array($popular_importers)) {
            set_site_transient('popular_importers_' . $locale, $popular_importers, 2 * DAY_IN_SECONDS);
        } else {
            $popular_importers = false;
        }
    }
    if (is_array($popular_importers)) {
        // If the data was received as translated, return it as-is.
        if ($popular_importers['translated']) {
            return $popular_importers['importers'];
        }
        foreach ($popular_importers['importers'] as &$importer) {
            $importer['description'] = translate($importer['description']);
            if ($importer['name'] != 'WordPress') {
                $importer['name'] = translate($importer['name']);
            }
        }
        return $popular_importers['importers'];
    }
    return array(
        // slug => name, description, plugin slug, and register_importer() slug
        'blogger' => array('name' => __('Blogger'), 'description' => __('Install the Blogger importer to import posts, comments, and users from a Blogger blog.'), 'plugin-slug' => 'blogger-importer', 'importer-id' => 'blogger'),
        'wpcat2tag' => array('name' => __('Categories and Tags Converter'), 'description' => __('Install the category/tag converter to convert existing categories to tags or tags to categories, selectively.'), 'plugin-slug' => 'wpcat2tag-importer', 'importer-id' => 'wp-cat2tag'),
        'livejournal' => array('name' => __('LiveJournal'), 'description' => __('Install the LiveJournal importer to import posts from LiveJournal using their API.'), 'plugin-slug' => 'livejournal-importer', 'importer-id' => 'livejournal'),
        'movabletype' => array('name' => __('Movable Type and TypePad'), 'description' => __('Install the Movable Type importer to import posts and comments from a Movable Type or TypePad blog.'), 'plugin-slug' => 'movabletype-importer', 'importer-id' => 'mt'),
        'opml' => array('name' => __('Blogroll'), 'description' => __('Install the blogroll importer to import links in OPML format.'), 'plugin-slug' => 'opml-importer', 'importer-id' => 'opml'),
        'rss' => array('name' => __('RSS'), 'description' => __('Install the RSS importer to import posts from an RSS feed.'), 'plugin-slug' => 'rss-importer', 'importer-id' => 'rss'),
        'tumblr' => array('name' => __('Tumblr'), 'description' => __('Install the Tumblr importer to import posts & media from Tumblr using their API.'), 'plugin-slug' => 'tumblr-importer', 'importer-id' => 'tumblr'),
        'wordpress' => array('name' => 'WordPress', 'description' => __('Install the WordPress importer to import posts, pages, comments, custom fields, categories, and tags from a WordPress export file.'), 'plugin-slug' => 'wordpress-importer', 'importer-id' => 'wordpress'),
    );
}