• Buenas para controlar el  Heartbeat que aconsejáis usar plugin o snippet

    Actualmente tengo este código no sé si es correcto o debería afinarlo: 👇

    / 1. Elimina el Heartbeat de la parte pública (Ahorro máximo de CPU)
    add_action( ‘init’, function() {
    if ( ! is_admin() ) {
    wp_deregister_script(‘heartbeat’);
    }
    }, 1 );

    // 2. Reduce el ritmo en el escritorio (Admin) al mínimo legal
    add_filter( ‘heartbeat_settings’, function( $settings ) {
    $settings[‘interval’] = 60; // 60 segundos es el máximo permitido por WP
    return $settings;
    });

    Aún así veo muchas peticiones de ajax

    Agradecería ayuda

    Gracias

Viendo 3 respuestas - de la 1 a la 3 (de un total de 3)
  • Buenas, espero estes muy bien, me parece que el codigo esta correcto, mas sin embargo te aconsejo tener en cuenta que que si sigues viendo muchas peticiones ajax es probable que mejor sea abrir las herramientas de desarrollador usando la tecla f12 en la parte de «network» solo para ver quien mas esta haciendo mas peticiones aparte de Heartbeat. Espero te sirva.

    Iniciador del debate inversor07

    (@inversor07)

    Muchas gracias, compañero

    Saludos

    Inversor07🕵‍♀️

    Buenas, a lo que puedo ver tu enfoque de código es excelente para ahorrar recursos, pero tu snippet actual tiene un par de detalles que se pueden mejorar. Primero, asegúrate de cambiar las comillas curvas (‘ ’) por comillas rectas (' ') porque PHP puede ignorar el código por error de sintaxis (Me ha pasado).

    El motivo por el cual sigues viendo muchas peticiones es que limiting el intervalo a 60 segundos en todo el admin sigue siendo insuficiente si dejas pestañas abiertas. Lo ideal es apagarlo por completo en todo el sitio, menos en el editor de entradas (para no perder el autoguardado).

    Te recomiendo usar este snippet afinado:

    PHP

    add_action( 'init', function() {
        global $pagenow;
        // Desactivar en el frontend
        if ( ! is_admin() ) {
            wp_deregister_script( 'heartbeat' );
        }
        // Desactivar en el admin (excepto al editar o crear posts)
        if ( is_admin() && $pagenow !== 'post.php' && $pagenow !== 'post-new.php' ) {
            wp_deregister_script( 'heartbeat' );
        }
    }, 1 );
    
    // Ralentizar a 60 segundos en el editor
    add_filter( 'heartbeat_settings', function( $settings ) {
        $settings['interval'] = 60; 
        return $settings;
    });
Viendo 3 respuestas - de la 1 a la 3 (de un total de 3)

Debes estar registrado para responder a este debate.