Advertisement
Guest User

tax to post converter

a guest
Feb 18th, 2015
346
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /**
  2.  * Create slugs/terms in jjm_author_tax taxonomy for all jjm_authors posts
  3.  *
  4.  */
  5. function make_taxonomy_from_posts($post_type, $taxonomy){
  6.    // Get all posts
  7.    $query_posts = query_posts(array(
  8.                              // ... of the requested type
  9.                              'post_type'=> $post_type,
  10.                              // ... and it supports the taxonomy
  11.                              'taxonomy' => $taxonomy,
  12.                              // ... without limit
  13.                              'nopaging' => true,
  14.                   ));
  15.  
  16.   // Reset the main query
  17.   wp_reset_query();
  18.  
  19.   foreach ($query_posts as $query_post) {
  20.       $post_id = $query_post->ID;
  21.       $raw_title = $query_post->post_title;
  22.       // Generate a slug based on the title.
  23.       // We want to check for auto-draft so we don't create a term for a post with no title
  24.       $slug_title = sanitize_title($raw_title);
  25.  
  26.       // Do the checks for empty titles
  27.       // If the title is blank, skip it
  28.       if ($slug_title == 'auto-draft' || empty($raw_title)) continue;
  29.       // Get all of the terms associated with the post
  30.       $terms = get_the_terms($post_id, $taxonomy);
  31.       $term_id = 0;
  32.  
  33.       if (!empty($terms)) {
  34.            $term_id = $terms[0]->term_id;
  35.       }
  36.  
  37.      if ($term_id > 0) {
  38.           // If the post has a term, update the term
  39.           wp_update_term($term_id, $taxonomy, array(
  40.                                                'description' => $raw_title,
  41.                                                'slug' => $raw_title,
  42.                                                'name' => $raw_title,
  43.                          ));
  44.      } else {
  45.          // Otherwise add a new term
  46.          wp_set_object_terms($post_id, $raw_title, $taxonomy, false);
  47.      }
  48.   }
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement