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'),
);
}