post-fixtures/classes/PostFixtures.inc
2009-11-22 18:32:52 -05:00

46 lines
1.0 KiB
PHP

<?php
class PostFixtures {
function parse_json($input) {
if (($data = json_decode($input)) !== false) {
if (is_array($data) || is_object($data)) {
return array_values((array)$data);
}
}
return false;
}
function remove_all_posts() {
if (is_array($posts = get_posts('nopaging=1'))) {
foreach ($posts as $post) { wp_delete_post($post->ID); }
}
}
function remove_all_categories() {
foreach (get_all_category_ids() as $id) {
wp_delete_category($id);
}
}
function process_data($data) {
$posts = $data;
$categories = array();
foreach ($data as $post) {
if (isset($post['categories'])) {
$categories = array_merge($categories, $post['categories']);
}
}
return compact('posts', 'categories');
}
function create_categories($categories) {
$category_ids_by_slug = array();
if (is_array($categories)) {
foreach ($categories as $category) {
$category_ids_by_slug[$category] = wp_insert_category(array('slug' => $category));
}
}
return $category_ids_by_slug;
}
}