Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Copa WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Como visualizar e controlar os trabalhos do WordPress Cron

Recentemente, um de nossos leitores perguntou se era possível visualizar e controlar o sistema de tarefas cron do WordPress no painel. Em nossa experiência, essa é uma pergunta que muitos usuários do WordPress têm, especialmente quando se familiarizam mais com o funcionamento do WordPress nos bastidores.

Se você não estiver familiarizado, o Cron é uma tecnologia para executar tarefas agendadas no servidor da Web. O WordPress vem com seu próprio cron integrado que permite executar tarefas agendadas, como verificação de atualizações, publicação de posts agendados etc.

Neste artigo, mostraremos como visualizar e controlar os trabalhos cron do WordPress.

O que é o WordPress Cron? Como ele funciona?

Cron é um termo técnico usado para comandos a serem executados em horários programados ou em intervalos regulares. A maioria dos servidores da Web o utiliza para manter o servidor e executar tarefas agendadas.

O WordPress vem com seu próprio sistema cron, que permite a execução de tarefas programadas. Por exemplo, a verificação de atualizações, a exclusão de comentários antigos da lixeira, a publicação de posts programados e assim por diante.

Os plug-ins do WordPress também podem usá-lo para executar tarefas especificadas por você. Por exemplo, seu plugin de backup do WordPress pode usar o cron do WordPress para criar backups automaticamente em um determinado horário.

No entanto, o uso irresponsável do cron do WordPress por plugins pode tornar seu site mais lento. Especialmente se você estiver usando hospedagem compartilhada.

Se um plug-in executa frequentemente tarefas que consomem muitos recursos, você precisa identificar o problema e corrigi-lo.

Vamos dar uma olhada em como visualizar e controlar o sistema cron do WordPress sem escrever nenhum código.

Visualizar e controlar o sistema Cron do WordPress

A primeira coisa que você precisa fazer é instalar e ativar o plug-in WP Crontrol. Para obter mais detalhes, consulte nosso guia passo a passo sobre como instalar um plug-in do WordPress.

Após a ativação, você precisa visitar a página Tools ” Cron Events para controlar as configurações do cron.

WordPress Cron events

Você verá uma lista de todos os eventos cron programados para serem executados em seu site usando o sistema cron do WordPress.

Na primeira coluna, você verá o nome do gancho que executa o cron.

Os nomes dos ganchos geralmente dão uma dica do que esse evento específico faz.

A maioria dos hooks padrão do WordPress começa com um prefixo wp_, como wp_update_plugins, wp_update_themes etc.

Seus plug-ins do WordPress podem ou não usar seus próprios prefixos para seus hooks. Por exemplo, o All in One SEO usa o prefixo aioseo_.

Você também poderá ver quando um cron será executado em seguida e o intervalo de tempo entre as próximas execuções.

A última coluna da lista permite que você edite, exclua ou execute um evento cron.

Importante: Tenha muito cuidado com o que você faz com os eventos cron e nunca exclua um evento cron padrão do WordPress.

Agora, vamos supor que você veja um evento cron criado por um plug-in do WordPress que consome muitos recursos.

Primeiro, você deve verificar as configurações do plug-in para ver se há uma opção para controlá-lo a partir daí. Se não houver, você pode clicar no link “Editar” ao lado do evento cron para alterá-lo.

Editing a cron in WordPress

Clicar no botão Edit (Editar) abrirá a guia “Modify Cron Event” (Modificar evento Cron) abaixo.

Aqui, você pode alterar a frequência com que deseja que o evento seja executado.

Modifying cron settings

Quando terminar, clique no botão “Modify Cron Event” para armazenar suas configurações.

Como adicionar seus próprios eventos Cron no WordPress

O plug-in WP Crontrol facilita a adição de seus próprios cron jobs ao WordPress. Basta acessar a página Tools ” Cron Events e rolar para baixo até a guia “Add Cron Event”.

Add custom cron event in WordPress

Primeiro, você precisa fornecer um nome de gancho para o evento cron. Os nomes dos hooks não podem ter espaços ou caracteres especiais.

Se a função que você deseja executar requer argumentos, você pode fornecer esses argumentos.

Em seguida, você precisa informar ao WordPress quando executar o cron na próxima vez. Você pode inserir “now” (agora), que acionará o cron imediatamente, “tomorrow” (amanhã), “+2 days” (dois dias) ou “25-02-2020 12:34:00”.

Por fim, você precisa selecionar um cronograma. Você pode selecionar de hora em hora, duas vezes ao dia, diariamente ou uma vez por semana. Você também pode fazer com que o evento não se repita.

Quando terminar, clique no botão “Add Cron Event” para salvar suas alterações.

Você perceberá que o evento cron aparecerá na lista de eventos.

No entanto, atualmente ele não faz nada porque você não disse ao WordPress o que fazer quando esse evento for acionado.

Você precisará adicionar seu gancho e uma função que seja executada quando o gancho do cron for acionado.

add_action( 'wpb_custom_cron', 'wpb_custom_cron_func' );

function wpb_custom_cron_func() {
  wp_mail( 'you@example.com', 'Automatic email', 'Automatic scheduled email from WordPress to test cron');
}

Não se esqueça de usar seu próprio endereço de e-mail.

Essa função simplesmente envia um e-mail de teste para você quando o cron é executado. Agora você pode rolar a página para cima e clicar no link “Run Now” (Executar agora) ao lado do seu evento cron para testá-lo.

Observação: o uso do cron requer habilidades de programação de nível intermediário e de desenvolvimento do WordPress. Se você não tiver essas habilidades, recomendamos contratar um desenvolvedor do WordPress.

Esperamos que este artigo tenha ajudado você a aprender como visualizar e controlar os cron jobs do WordPress. Talvez você também queira ver nosso guia sobre como instalar em massa seus plug-ins favoritos do WordPress ou nossas escolhas de especialistas dos melhores plug-ins de segurança do WordPress.

Se você gostou deste artigo, inscreva-se em nosso canal do YouTube para receber tutoriais em vídeo sobre o WordPress. Você também pode nos encontrar no Twitter e no Facebook.

Divulgação: Nosso conteúdo é apoiado pelo leitor. Isso significa que, se você clicar em alguns de nossos links, poderemos receber uma comissão. Veja como o WPBeginner é financiado, por que isso é importante e como você pode nos apoiar. Aqui está nosso processo editorial.

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

O kit de ferramentas definitivo WordPress

Obtenha acesso GRATUITO ao nosso kit de ferramentas - uma coleção de produtos e recursos relacionados ao WordPress que todo profissional deve ter!

Reader Interactions

19 ComentáriosDeixe uma resposta

  1. Paul Barrett

    We run cron at server level because wp-cron overloads teh server. There’s is nothing on our site that is so time-critical the jobs need to running frequently. If we set the frequency to say daily, would WordPress have a problem?

    • WPBeginner Support

      It would heavily depend on what is being done on the site and when. We do not have a specific recommendation for what can be delayed to that extent.

      Administrador

  2. Matt K

    When I go to change the the recurrence on the Hooks, they just get changed back. Something isn’t right. Do I need to disable WP crons in wp-config.php first?

    • WPBeginner Support

      It would depend on the specific chron job, if you reach out to the plugin’s support they should be able to assist

      Administrador

  3. Heinz

    Can I deactivate or even delete WP Control plugin in after having set a cron job, so I don’t have too many plugins running and slow down the website?

  4. Andre Hesdahl

    I am a newbee with WordPress and don’t know where to put (or how to execute) the code:
    add_action( ‘wpb_custom_cron’, ‘wpb_custom_cron_func’ );

    function wpb_custom_cron_func() {
    wp_mail( ‘you@example.com’, ‘Automatic email’, ‘Automatic scheduled email from WordPress to test cron’);
    }

  5. Jeff

    Thanks for the article. Interesting to see the number of plugins that have cron jobs running often. Great peak under the hood plugin…

  6. David

    How can i configure the cron to every half hour?

  7. hazel beaver

    When I check the cron schedule the dates shown in the ‘next run’ column are all in the past. Does that mean they are not running?

    In the past I think I added ‘true’ in the wp config file to stop automatic wp updates from breaking my site…. could this be the cause?

  8. Janson

    Does this work in Multi-site? Can one control crons for all instances in a multisite scenario?

  9. Oleg

    Great article, but no need for

    if ( ! wp_next_scheduled( ‘wpb_custom_cron’ ) ) {
    wp_schedule_event( time(), ‘hourly’, ‘my_task_hook’ );
    }

    this part is done in the plugin,

  10. beny salim

    how can i add Recurrence like five minutes, ten minutes

  11. Ahmad Sayeed

    I tested you given example. It works like a superman. But please give us an example to send parameter. I have added the function while creating the even. But I don’t know how to use them on PHP function.

    Please give us an example

  12. Sunny

    My website is coming up with a long wp cron string after my URL and I cant get rid of it. Any thoughts?

    ?doing_wp_cron=1499261576.8675799369812011718750 comes up after my url and its making me look really spammy. Your insight would be appreciated.

  13. Aniket Ashtikar

    Is that ‘my_task_hook’ cron hook rightly mentioned there at line 2 or should that rather be changed to ‘wpb_custom_cron’?

  14. Matt

    Do you know if its possible to visit a link in the wp-admin area? I have a plugin that adds admin features to my wordpress site but I really want this scheduled to happen every 24 hours. I have the link but obviously am required to be logged in.

  15. Pam M

    Do you need that first if statement shown in the sample code? It looks like it would override the ability to schedule and unschedule in the WP Crontrol plugin.
    Your example worked nicely when I scheduled the job in the plugin and tested it with the Run Now option. I’ll see if I get an email at the scheduled time too.
    Thanks for the helpful background info.

  16. Nigam

    Hi

    When I am going to refresh the page of WP-Cron Events from wordpress admin then only run the event.

Deixe uma resposta

Obrigado por deixar um comentário. Lembre-se de que todos os comentários são moderados de acordo com nossos política de comentários, e seu endereço de e-mail NÃO será publicado. NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.