Initial commit — migración Joomla→WordPress feadulta.org
Incluye: mu-plugins custom (fea-homepage, carta-semana), scripts de migración/traducción/deploy, documentación de auditoría, análisis de cartas y HTML de evangelios exportados desde Joomla. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
/**
|
||||
* Migrar metadatos Autor (que es un user_id) a categorias
|
||||
*/
|
||||
require_once('/var/www/html/wp-load.php');
|
||||
|
||||
echo "=== Migrando AUTORES a categorias ===\n\n";
|
||||
|
||||
$users = $wpdb->get_results("SELECT ID, display_name FROM wp_users WHERE ID > 1");
|
||||
|
||||
$created = 0;
|
||||
$assigned = 0;
|
||||
|
||||
foreach ($users as $user) {
|
||||
$user_id = $user->ID;
|
||||
$name = $user->display_name;
|
||||
|
||||
if (empty($name)) continue;
|
||||
|
||||
// Crear categoria
|
||||
$term = get_term_by('name', $name, 'category');
|
||||
if (!$term) {
|
||||
$result = wp_insert_term($name, 'category', array(
|
||||
'slug' => sanitize_title($name),
|
||||
'description' => 'Autor: ' . $name
|
||||
));
|
||||
if (is_wp_error($result)) {
|
||||
echo "Error: $name\n";
|
||||
continue;
|
||||
}
|
||||
$term_id = $result['term_id'];
|
||||
$created++;
|
||||
} else {
|
||||
$term_id = $term->term_id;
|
||||
}
|
||||
|
||||
// Buscar posts con este autor (meta_value = user_id)
|
||||
$posts = $wpdb->get_col($wpdb->prepare("
|
||||
SELECT DISTINCT pm.post_id
|
||||
FROM wp_postmeta pm
|
||||
JOIN wp_posts p ON pm.post_id = p.ID
|
||||
WHERE pm.meta_key = 'Autor' AND pm.meta_value = %s
|
||||
AND p.post_type = 'post' AND p.post_status = 'publish'
|
||||
", $user_id));
|
||||
|
||||
foreach ($posts as $post_id) {
|
||||
wp_set_object_terms($post_id, $term_id, 'category', true);
|
||||
$assigned++;
|
||||
}
|
||||
|
||||
if (count($posts) > 0) {
|
||||
echo "$name: " . count($posts) . " posts\n";
|
||||
}
|
||||
}
|
||||
|
||||
echo "\nCategorias creadas: $created\n";
|
||||
echo "Asignaciones: $assigned\n";
|
||||
echo "=== FIN ===\n";
|
||||
Reference in New Issue
Block a user