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.
// Written by Amit Agarwal $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"] ) ); } } }