I am working on a little project that parses the JSON feeds of iTunes and imports the categories into WordPress. Here’s the relevant snippet.
I am using wp_remote_get here, a much simpler alternative to using CURL or file_get_content() of PHP. WordPress has built-in functions for inserting categories - wp_insert_category and wp_create_category - but they aren’t working in 3.5.1 and hence had to use wp_insert_term.
$url = "http://itunes.apple.com/WebObjects/MZStoreServices.woa/ws/genres?id=20";
$data = wp_remote_retrieve_body (wp_remote_get($url));
$json = json_decode($data, true);
foreach ($json['26']['subgenres'] as $item) {
$id = wp_insert_term ( $item['name'],
'category', array (
'slug' => $item['url'],
'description' => $item['id']));
if ( isset ($item['subgenres']) ) {
foreach ($item['subgenres'] as $sub) {
wp_insert_term ( $sub['name'], 'category',
array ('slug' => $sub['url'],
'description' => $sub['id'],
'parent' => $id["term_id"]
)
);
}
}
}