Home / RSS Feeds / Untitled Snippet
Duplicate Snippet

Embed Snippet on Your Site

Untitled Snippet

function obtener_sismos_recientes() {
// URL de la API
$url = 'https://ultimosismo.igp.gob.pe/ultimo-sismo/ajaxb/2024?_=1694788511856';

// Obtener los datos de la API
$respuesta = wp_remote_get($url);
if (is_wp_error($respuesta)) {
return 'No se pudieron obtener los datos de los sismos.';
}
$cuerpo = wp_remote_retrieve_body($respuesta);
$datos = json_decode($cuerpo, true);

// Ordenar los sismos por fecha y hora, de más reciente a más antiguo
usort($datos['data'], function($a, $b) {
return strcmp($b['fecha_local'].$b['hora_local'], $a['fecha_local'].$a['hora_local']);
});

// Mostrar solo los últimos 7 sismos
$sismos_recientes = array_slice($datos['data'], 0, 7);

// Crear una tabla para mostrar los datos
$html = '';
$html .= 'MagnitudEpicentroFecha y Hora';

foreach ($sismos_recientes as $sismo) {
$fecha = new DateTime($sismo['fecha_local']);
$fecha_formato_europeo = $fecha->format('d-m-Y');
$hora = $sismo['hora_local'];

$html .= '';
$html .= '' . esc_html($sismo['magnitud']) . '';
$html .= '' . esc_html($sismo['referencia']) . '';
$html .= '' . esc_html($fecha_formato_europeo . ' ' . $hora) . '';
$html .= '';
}

$html .= '';
return $html;
}

// Agrega un shortcode en WordPress para usar esta función
add_shortcode('sismos_recientes', 'obtener_sismos_recientes');

Code Preview
php
<?php
function obtener_sismos_recientes() {
    // URL de la API
    $url = 'https://ultimosismo.igp.gob.pe/ultimo-sismo/ajaxb/2024?_=1694788511856';
    // Obtener los datos de la API
    $respuesta = wp_remote_get($url);
    if (is_wp_error($respuesta)) {
        return 'No se pudieron obtener los datos de los sismos.';
    }
    $cuerpo = wp_remote_retrieve_body($respuesta);
    $datos = json_decode($cuerpo, true);
    // Ordenar los sismos por fecha y hora, de más reciente a más antiguo
    usort($datos['data'], function($a, $b) {
        return strcmp($b['fecha_local'].$b['hora_local'], $a['fecha_local'].$a['hora_local']);
    });
    // Mostrar solo los últimos 7 sismos
    $sismos_recientes = array_slice($datos['data'], 0, 7);
    // Crear una tabla para mostrar los datos
    $html = '<table>';
    $html .= '<tr><th>Magnitud</th><th>Epicentro</th><th>Fecha y Hora</th></tr>';
    foreach ($sismos_recientes as $sismo) {
        $fecha = new DateTime($sismo['fecha_local']);
        $fecha_formato_europeo = $fecha->format('d-m-Y');
        $hora = $sismo['hora_local'];
        $html .= '<tr>';
        $html .= '<td>' . esc_html($sismo['magnitud']) . '</td>';
        $html .= '<td>' . esc_html($sismo['referencia']) . '</td>';
        $html .= '<td>' . esc_html($fecha_formato_europeo . ' ' . $hora) . '</td>';
        $html .= '</tr>';
    }
    $html .= '</table>';
    return $html;
}
// Agrega un shortcode en WordPress para usar esta función
add_shortcode('sismos_recientes', 'obtener_sismos_recientes');

Comments

Add a Comment