Cron disparando minha função toda vez que wp-admin é visitado

4

Este é um plugin MU que estou desenvolvendo, e eu quero que ele seja executado de hora em hora. Infelizmente, ele está sendo executado toda vez que eu visito a página wp-admin de qualquer site. Eu usei o plugin Debug Bar com o plugin Cron, e ele sempre diz que o próximo evento está no passado. Alguma idéia?

add_action('admin_menu', 'dhg_cron_menu');
function dhg_cron_menu()
{
    add_options_page('NEW WPMS Stats', 'NEW WPMS Stats', 'manage-options', 'dhg-cron', 'dhg_cron_settings');
}

function dhg_cron_settings()
{
    if(!wp_next_scheduled('dhg_cron_hook'))
    {
        wp_schedule_event(time(), 'hourly', 'dhg_cron_hook');
    }
}

add_action('dhg_cron_hook', 'dhg_cron_get_stats');
function dhg_cron_get_stats()
{
    //  this is a custom function I use to log to a file for testing...
    log_wpms_stats("testing!");
}
    
por danhgilmore 07.11.2013 / 19:05

1 resposta

1

Uma ideia que surgiu foi usar a nova API WP Heartbeat em vez de usar o cron. Faça com que o seu plugin envie uma chamada para o seu sistema de registro a cada hora.

O tutorial do Pippin contém a maior parte do código que você precisará para começar.

    
por Chris 07.11.2013 / 19:38