get_col("SELECT DISTINCT post_id FROM {$wpdb->postmeta} WHERE meta_key='traduccion_origen'"); $fixed = 0; foreach ($ids as $pid) { $pid = (int) $pid; $lang = pll_get_post_language($pid); if (!$lang || $lang === 'es') continue; $cats = wp_get_post_categories($pid); $mapped = []; $changed = false; foreach ($cats as $c) { $tc = (int) pll_get_term($c, $lang); if ($tc && $tc !== $c) { $mapped[] = $tc; $changed = true; } else { $mapped[] = $c; } } if ($changed) { wp_set_post_categories($pid, array_values(array_unique($mapped))); $fixed++; } } echo "Remapeadas categorías en $fixed traducciones (de " . count($ids) . " revisadas)\n";