2017-10-09 5 views
1

カスタムタクソノミー「著者」を持つ「商品」というカスタム投稿タイプがあります。今私は "著者"と呼ばれる別のカスタム投稿タイプを持っています。Wordpress:投稿を追加すると、その用語が自動的に作成されますか?

私は自分の投稿タイプ "著者"に新しい投稿を公開すると、同じタイトルの新しい用語が自分のタクソノミ "著者"に自動的に作成されます。それは可能でしょうか?

ありがとうございました。

答えて

2

これはあなたに役立つかもしれません。

function update_custom_terms($post_id) { 

    // only update terms if it's a authors post 
    if ('authors' != get_post_type($post_id)) { 
    return; 
    } 

    // don't create or update terms for system generated posts 
    if (get_post_status($post_id) == 'auto-draft') { 
    return; 
    } 

    /* 
    * Grab the post title and slug to use as the new 
    * or updated term name and slug 
    */ 
    $term_title = get_the_title($post_id); 
    $term_slug = get_post($post_id)->post_name; 

    /* 
    * Check if a corresponding term already exists by comparing 
    * the post ID to all existing term descriptions. 
    */ 
    $existing_terms = get_terms('author', array(
    'hide_empty' => false 
    ) 
); 

    foreach($existing_terms as $term) { 
    if ($term->description == $post_id) { 
     //term already exists, so update it and we're done 
     wp_update_term($term->term_id, 'author', array(
     'name' => $term_title, 
     'slug' => $term_slug 
     ) 
    ); 
     return; 
    } 
    } 

    /* 
    * If we didn't find a match above, this is a new post, 
    * so create a new term. 
    */ 
    wp_insert_term($term_title, 'author', array(
    'slug' => $term_slug, 
    'description' => $post_id 
    ) 
); 
} 

//run the update function whenever a post is created or edited 
add_action('save_post', 'update_custom_terms'); 
+0

その優れた機能!どうもありがとう! – admiva

関連する問題