754915b91f
Co-authored-by: rafa <rcalvotorrejon@gmail.com> Signed-off-by: rafa <rcalvotorrejon@gmail.com>
27 lines
1.5 KiB
PHP
27 lines
1.5 KiB
PHP
<?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_comment_categories(),
|
|
'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]);
|
|
}
|