Añadir mu-plugins y scripts de feadulta
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
/**
|
||||
* Remapea las categorías de las traducciones automáticas (meta traduccion_origen)
|
||||
* a los términos traducidos de su propio idioma. Idempotente y sin llamar a Gemma.
|
||||
*
|
||||
* Arregla las traducciones creadas antes de que fea_translate_helper.php mapeara
|
||||
* categorías (issue #75): p.ej. una carta EN que quedó en la categoría ES `cartasemana`
|
||||
* pasa a la categoría EN `letter-of-the-week`, poblando el archivo de carta por idioma.
|
||||
*
|
||||
* Uso: docker exec wordpress-web php /tmp/remap_translation_cats.php
|
||||
*/
|
||||
|
||||
$_SERVER['REQUEST_URI'] = $_SERVER['REQUEST_URI'] ?? '/';
|
||||
$_SERVER['HTTP_HOST'] = $_SERVER['HTTP_HOST'] ?? 'farmer.taild3aaf6.ts.net';
|
||||
require_once '/var/www/html/wp-load.php';
|
||||
|
||||
if (!function_exists('pll_get_term')) { fwrite(STDERR, "Polylang no disponible\n"); exit(2); }
|
||||
|
||||
global $wpdb;
|
||||
$ids = $wpdb->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";
|
||||
Reference in New Issue
Block a user