Here is a function to automatically select the ancestor terms for the selected terms when a post is saved.
Note that this will apply to all post types, and all taxonomies associated with the post type.
add_action('save_post', 'jr_select_ancestor_terms', 12, 2); // automatically select ancestor terms
function jr_select_ancestor_terms($post_id, $post) {
if( $post->post_type == 'revision' ) return; // Don't store data twice
foreach ($_POST['tax_input'] as $taxname => $termids) {
foreach ($termids as $termid) {
$parenttags = get_ancestors($termid,$taxname);
wp_set_object_terms( $post->ID, $parenttags, $taxname, true );
}
}
}
I would appreciate feedback & improvements.