Untitled
unknown
plain_text
2 years ago
1.8 kB
11
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