Untitled
unknown
plain_text
2 years ago
1.8 kB
7
Indexable
add_action('save_post_egg', 'assign_race_to_egg_based_on_terrarium', 10, 3); function assign_race_to_egg_based_on_terrarium($post_id, $post, $update) { // Sikrer at vi ikke er i en autosave rutine if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return; // Sikrer at brugeren har rettigheder til at redigere posten if (!current_user_can('edit_post', $post_id)) return; // Kontrollerer om post-typen er 'egg' if ($post->post_type != 'egg') { return; } // Hent terrarie term tildelt til Egg $egg_terrarie_terms = wp_get_post_terms($post_id, 'terrarie'); if (is_wp_error($egg_terrarie_terms) || empty($egg_terrarie_terms)) { return; // Ingen terrarie tildelt, eller der opstod en fejl } $terrarie_id = $egg_terrarie_terms[0]->term_id; // Find alle Gekko posts med samme terrarie $gekko_args = array( 'post_type' => 'gekko', 'posts_per_page' => -1, 'tax_query' => array( array( 'taxonomy' => 'terrarie', 'field' => 'term_id', 'terms' => $terrarie_id, ), ), ); $gekko_query = new WP_Query($gekko_args); $race_ids = array(); if ($gekko_query->have_posts()) { while ($gekko_query->have_posts()) { $gekko_query->the_post(); $gekko_races = wp_get_post_terms(get_the_ID(), 'race'); if (!is_wp_error($gekko_races)) { foreach ($gekko_races as $race) { $race_ids[] = $race->term_id; } } } } wp_reset_postdata(); // Tildeler fundne race termer til Egg if (!empty($race_ids)) { wp_set_post_terms($post_id, $race_ids, 'race', true); } }
Editor is loading...
Leave a Comment