Añadir evangelio plegable a comentarios

Co-authored-by: rafa <rcalvotorrejon@gmail.com>
Signed-off-by: rafa <rcalvotorrejon@gmail.com>
This commit is contained in:
2026-08-11 07:29:56 -04:00
parent 5055e92143
commit 908188ddf2
4 changed files with 200 additions and 19 deletions
+26
View File
@@ -0,0 +1,26 @@
<?php
/** Propuesta/aplicación segura del backfill de _cita_evangelio. */
/** Uso: wp eval-file scripts/backfill_evangelio_meta.php [--apply] --path=/var/www/html */
$apply = in_array('--apply', $_SERVER['argv'] ?? [], true);
$posts = get_posts([
'post_type' => 'post', 'post_status' => 'publish', 'posts_per_page' => -1,
'category__in' => [fea_evangelio_category(1647)],
'meta_query' => [['key' => '_cita_evangelio', 'compare' => 'NOT EXISTS']],
'orderby' => 'date', 'order' => 'ASC',
]);
$out = fopen('php://output', 'w');
fputcsv($out, ['post_id', 'fecha', 'carta_id', 'cita_propuesta', 'resultado']);
foreach ($posts as $post) {
$before_carta = (int) get_post_meta($post->ID, '_carta_id', true);
// Las cartas deducidas solo se proponen: la cola histórica requiere revisión humana.
$carta_id = $before_carta ?: fea_evangelio_nearest_carta_id($post);
$evangelios = $carta_id ? fea_evangelio_from_carta($carta_id) : [];
$cita = $before_carta && count($evangelios) === 1 ? reset($evangelios) : '';
$result = $cita ? ($apply ? 'aplicado' : 'propuesta') : (!$before_carta ? 'revision_manual_carta_por_fecha' : (count($evangelios) > 1 ? 'revision_manual_multi_evangelio' : 'sin_evangelio'));
if ($apply && $cita) {
update_post_meta($post->ID, '_cita_evangelio', $cita);
if (!$before_carta) update_post_meta($post->ID, '_carta_id', $carta_id);
}
fputcsv($out, [$post->ID, $post->post_date, $carta_id ?: '', $cita, $result]);
}