WP Crontrol

Descrizione

WP Crontrol ti permette di prendere il controllo degli eventi cron sul tuo sito web sviluppato con WordPress. Dalle schermate di amministrazione puoi:

  • Visualizza tutti gli eventi cron con i loro argomenti, la ricorrenza, le funzioni di callback e la prossima scadenza.
  • Modifica, cancella, metti in pausa, riprendi ed esegui immediatamente gli eventi cron.
  • Aggiungi nuovi eventi cron.
  • Elimina in massa gli eventi cron.
  • Aggiungi e rimuovi pianificazioni cron personalizzate.
  • Esporta e scarica gli elenchi degli eventi cron come file CSV.

WP Crontrol è consapevole dei fusi orari, ti avvisa degli eventi che non hanno azioni o che non sono stati programmati e ti mostra un utile messaggio di avvertimento se rileva problemi con il tuo sistema cron.

Utilizzo

  1. Vai al menu Strumenti → Eventi cron per gestire gli eventi cron.
  2. Vai al menu Impostazioni → Pianificazioni cron per gestire le pianificazioni cron.

Altri plugin

Gestisco molti altri plugin per gli sviluppatori. Dai un’occhiata a questi:

  • Query Monitor è il pannello degli strumenti per sviluppatori di WordPress.
  • User Switching permette di passare istantaneamente da un account utente all’altro in WordPress.

Informativa sulla privacy

WP Crontrol è privato per impostazione predefinita e lo sarà sempre. Non invia dati a terzi e non include risorse di terzi. L’informativa completa sulla privacy di WP Crontrol è disponibile qui.

Informativa sull’accessibilità

WP Crontrol si propone di essere completamente accessibile a tutti i suoi utenti. La dichiarazione di accessibilità completa di WP Crontrol è disponibile qui.

Screenshot

  • Gli eventi cron possono essere modificati, cancellati ed eseguiti

  • Si possono aggiungere nuovi eventi cron

  • È possibile aggiungere nuove pianificazioni cron, dando agli sviluppatori di plugin più opzioni nella programmazione degli eventi

FAQ

Questo plugin funziona con PHP 8?

Sì, è attivamente testato e funziona fino a PHP 8.3.

Ricevo l’errore “Si è verificato un problema nella creazione di una chiamata al sistema WP-Cron sul tuo sito web”. Come posso risolvere questo problema?

Puoi leggere tutto sui problemi di avvio di WP-Cron sul sito web di WP Crontrol.

Perché alcuni eventi cron non rispettano la loro tabella di marcia?

Puoi leggere tutto sugli eventi cron che non sono stati programmati sul sito web di WP Crontrol.

Perché alcuni eventi cron riappaiono poco dopo averli eliminati?

Se l’evento è stato aggiunto da un plugin, molto probabilmente quest’ultimo ha riprogrammato l’evento non appena si è accorto che mancava. Per ovviare a questo inconveniente puoi utilizzare l’azione “Metti in pausa questo hook”, che rimarrà al suo posto ma non eseguirà alcuna azione quando verrà eseguito.

È sicuro cancellare gli eventi cron?

Questo dipende interamente dall’evento. Puoi utilizzare il tuo motore di ricerca preferito per cercare il nome dell’evento e scoprire a quale plugin appartiene e quindi decidere se eliminarlo o meno.

Se l’evento mostra “Nessuna” come azione, allora di solito è sicuro da eliminare. Per maggiori informazioni sugli eventi senza azione, consulta le altre FAQ.

Perché non riesco a cancellare alcuni eventi cron?

Il software del core di WordPress utilizza eventi cron per alcune delle sue funzionalità e la rimozione di questi eventi non è possibile perché WordPress li riprogrammerebbe immediatamente se li cancellassi. Per questo motivo, WP Crontrol non ti permette di eliminare questi eventi persistenti dal core di WordPress.

Se non vuoi che questi eventi vengano eseguiti, puoi invece utilizzare l’azione “Metti in pausa questo hook”.

Cosa succede quando metto in pausa un evento?

Mettere in pausa un evento significa disabilitare tutte le azioni collegate al suo hook. L’evento stesso rimarrà al suo posto e si svolgerà secondo il suo programma, ma tutte le azioni collegate al suo hook saranno disabilitate. Questo rende l’evento inoperoso ma lo mantiene programmato in modo da rimanere pienamente compatibile con gli eventi che altrimenti verrebbero riprogrammati automaticamente quando mancano.

Poiché la pausa di un evento mette in pausa il suo hook, tutti gli eventi che utilizzano lo stesso hook saranno messi in pausa o ripresi quando si mette in pausa e si riprende un evento. Questo è molto più utile ed affidabile che mettere in pausa i singoli eventi separatamente.

Cosa succede quando riprendo un evento?

Riprendere un evento riattiva tutte le azioni collegate all’hook dell’evento. Tutti gli eventi che utilizzano lo stesso hook saranno ripresi.

Cosa significa quando viene visualizzato “Nessuno” per l’azione di un evento cron?

Ciò significa che l’evento cron è programmato per essere eseguito all’ora specificata, ma non esiste una funzionalità corrispondente che verrà attivata quando l’evento verrà eseguito, quindi l’evento è inutile.

Questo è spesso causato da plugin che non puliscono i loro eventi cron quando li disattivi. Puoi utilizzare il tuo motore di ricerca preferito per cercare il nome dell’evento e scoprire a quale plugin appartiene e quindi decidere se eliminarlo o meno.

Come posso modificare l’orario di esecuzione successivo o la ricorrenza di un evento cron?

Puoi modificare l’orario e la ricorrenza di un evento cron cliccando sul link “Modifica” accanto all’evento.

Come posso creare un evento cron che richiede un indirizzo URL?

Dalla schermata Strumenti → Eventi cron → Aggiungi nuovo, crea un evento cron di PHP che includa il PHP che recupera l’indirizzo URL utilizzando l’API HTTP di WordPress. Ad esempio:

wp_remote_get( 'http://example.com' );

Puoi leggere tutte le informazioni sulle caratteristiche e la sicurezza degli eventi cron di PHP sul sito web di WP Crontrol.

Perché le modifiche apportate ad alcuni eventi cron non vengono salvate?

Puoi leggere tutti i problemi relativi alla modifica degli eventi cron sul sito web di WP Crontrol.

Posso esportare un elenco di eventi cron?

Sì, un file CSV dell’elenco degli eventi può essere esportato e scaricato tramite il pulsante “Esporta” nella schermata dell’elenco degli eventi di cron. Questo file può essere aperto in qualsiasi applicazione di foglio di calcolo.

Posso vedere un registro storico di tutti gli eventi cron che sono stati eseguiti sul mio sito web?

Non ancora, ma spero di aggiungere presto questa funzionalità.

Posso vedere un registro storico delle modifiche, delle aggiunte e delle eliminazioni di eventi e pianificazioni cron?

Sì. L’eccellente plugin Simple History ha un supporto integrato per la registrazione delle azioni eseguite tramite WP Crontrol.

A cosa serve aggiungere nuove pianificazioni cron?

Cron schedules are used by WordPress and plugins for scheduling events to be executed at regular intervals. Intervals must be provided by the WordPress core or a plugin in order to be used. As an example, many backup plugins provide support for periodic backups. In order to do a weekly backup, a weekly cron schedule must be entered into WP Crontrol first and then a backup plugin can take advantage of it as an interval.

Come faccio a creare un nuovo evento cron?

Ci sono due fasi per ottenere un evento cron funzionante che venga eseguito regolarmente. Il primo passo consiste nel comunicare a WordPress l’hook. Questa è il motivo per cui WP Crontrol è stato creato. Il secondo passo consiste nel chiamare una funzione quando l’evento viene eseguito.

Fase uno: aggiungere l’hook

Nel pannello di amministrazione Strumenti → Eventi Cron, clicca su “Aggiungi nuovo” ed inserisci i dettagli dell’hook. È preferibile utilizzare un nome che sia conforme alle normali convenzioni di denominazione delle variabili di PHP. L’orario dell’evento indica la frequenza di esecuzione dell’hook. Se non vedi un buon intervallo, aggiungine uno nel pannello di amministrazione Impostazioni → Pianificazioni cron.

Step Two: Writing the function

This part takes place in PHP code (for example, in the functions.php file from your theme). To execute your hook, WordPress runs an action. For this reason, we need to tell WordPress which function to execute when this action is run. The following line accomplishes that:

add_action( 'my_hookname', 'my_function' );

Il passo successivo è scrivere la tua funzione. Ecco un semplice esempio:

function my_function() {
    wp_mail( 'hello@example.com', 'WP Crontrol', 'WP Crontrol rocks!' );
}

Come faccio a creare un nuovo evento cron di PHP?

In the Tools → Cron Events admin panel, click on “Add New”. In the form that appears, select “PHP Cron Event” and enter the schedule and next run time. The event schedule is how often your event will be executed. If you don’t see a good interval, then add one in the Settings → Cron Schedules admin panel. In the “PHP Code” area, enter the PHP code that should be run when your cron event is executed. You don’t need to provide the PHP opening tag (<?php).

La creazione, la modifica e l’esecuzione di eventi cron di PHP sono soggette a permessi di sicurezza restrittivi. Puoi leggere tutte le informazioni sulle caratteristiche e sulla sicurezza degli eventi cron PHP sul sito web di WP Crontrol.

Quali utenti possono gestire gli eventi cron e le pianificazioni?

Solo gli utenti con la capacità manage_options possono gestire gli eventi e le pianificazioni di cron. Per impostazione predefinita, solo gli Amministratori hanno questa possibilità.

Quali utenti possono gestire gli eventi cron di PHP? È pericoloso?

Solo gli utenti con la funzionalità edit_files possono gestire gli eventi cron di PHP. Ciò significa che se un utente non può modificare i file tramite l’area di amministrazione di WordPress (ad esempio tramite l’editor dei plugin o l’editor dei temi), non può nemmeno aggiungere, modificare o cancellare un evento cron di PHP in WP Crontrol. Per impostazione predefinita, solo gli Amministratori hanno questa possibilità e con il Multisito abilitato solo i Super Amministratoti hanno questa possibilità.

Se la modifica dei file è stata disabilitata tramite le costanti di configurazione DISALLOW_FILE_MODS o DISALLOW_FILE_EDIT, nessun utente avrà la possibilità di edit_files, il che significa che non sarà possibile aggiungere, modificare o cancellare un evento cron di PHP.

Pertanto, il livello di accesso dell’utente necessario per eseguire codice PHP arbitrario non cambia con WP Crontrol attivato.

Puoi leggere tutte le informazioni sulle caratteristiche e la sicurezza degli eventi cron di PHP sul sito web di WP Crontrol.

Sono disponibili dei comandi WP-CLI?

I comandi cron che prima erano inclusi in WP Crontrol ora fanno parte della WP-CLI stessa. Vedi wp help cron per avere maggiori informazioni.

Cosa succede quando disattivo il plugin WP Crontrol?

Puoi leggere tutto quello che succede quando disattivi il plugin sul sito web di WP Crontrol.

Come posso segnalare un bug di sicurezza?

Puoi segnalare i bug di sicurezza attraverso il Patchstack Vulnerability Disclosure Program. Il team di Patchstack ti aiuterà a convalidare e gestire le vulnerabilità di sicurezza. Segnala una vulnerabilità di sicurezza qui.

Chi ha scattato la foto nell’immagine d’intestazione del plugin?

La foto è stata scattata da Michael Pardo ed è di pubblico dominio.

Recensioni

9 Marzo 2024
Use this tool to run my own php script to maintain my uploaded webcam images. Thanks a lot for this plugin.
9 Marzo 2024
Why people are heartless and rate something so good and yet free be given poor rating? These guys have no respect for the opensource and the people who dedicate their time for the great cause. I love your plugin and i can't say enough that its worth 5 stars rating and nothing less. This is the 4th review that i am writing for plugins which are great but some idiots give them poor rating. God bless you guys for sparing your valuable time for those who believe in the Open-source and its spirit of unity from across the world breaking all the barriers. Cheers.
20 Novembre 2023
Thank you a lot, helped me understanding how WP-Cron works. Thanks! 😄
6 Novembre 2023
One of the best plugin to manage and keep track of crons. been using it for years. Thank you!
Leggi tutte le recensioni di 149

Contributi e sviluppo

“WP Crontrol” è un software open source. Le persone che hanno contribuito allo sviluppo di questo plugin sono indicate di seguito.

Collaboratori

“WP Crontrol” è stato tradotto in 18 lingue. Grazie ai traduttori per i loro contributi.

Traduci “WP Crontrol” nella tua lingua.

Ti interessa lo sviluppo?

Esplora il codice segui il repository SVN, segui il log delle modifiche tramite RSS.

Changelog (registro delle modifiche)

1.16.3

  • Corrects the displayed PHP cron event name if one is provided

1.16.2

1.16.1

  • È stato confermato il supporto a WordPress 6.4

1.16.0

  • Allow persistent WordPress core hooks to be cleared if there’s more than one event with that hook
  • Add the number of matching events to the hook deletion link text
  • Scartata la richiesta Ajax che controlla se la pagina corrente degli eventi cron è cambiata dal caricamento
  • Apportati alcuni miglioramenti all’ordinamento delle colonne della tabella dell’elenco degli eventi cron
  • Aumentata la versione minima supportata di PHP alla versione 7.4

1.15.3

  • Pass the $doing_wp_cron value to the cron_request filter so it matches WordPress core
  • Miglioramenti vari alla qualità del codice

1.15.2

  • Migliorata la terminologia relativa alla pausa ed all’eliminazione degli hook e degli eventi
  • Migliorata l’accessibilità della tabella degli eventi per gli utenti con tastiera
  • Removes an unnecessary SQL query when fetching the list of paused events
  • Adds an FAQ about deactivating the plugin

1.15.1

  • È confermato che il plugin è compatibile con PHP 8.2
  • Aumentata la compatibilità con altri plugin che includono implementazioni di caricamento automatico di Composer molto vecchie

1.15.0

  • Introduce la possibilità di mettere in pausa e riprendere gli eventi cron dalla schermata dell’elenco degli eventi; consulta le FAQ per tutti i dettagli.
  • Aggiunto l’orario del sito web alla schermata di modifica dell’evento cron.
  • Implementa un caricamento automatico per ridurre l’utilizzo della memoria
  • Porta la versione minima supportata di PHP alla versione 5.6

1.14.0

  • Reverts the changes introduced in version 1.13 while I look into the problem with the deployment process for wordpress.org

1.13.2

  • Corretti altri problemi con i file mancanti nella versione

1.13.1

  • Corregge un problema di file mancanti nella versione 1.13.0

1.13.0

  • Introduce la possibilità di mettere in pausa e riprendere gli eventi cron dalla schermata dell’elenco degli eventi; consulta le FAQ per tutti i dettagli.
  • Implementa un caricamento automatico per ridurre l’utilizzo della memoria
  • Porta la versione minima supportata di PHP alla versione 5.6

1.12.1

  • Corregge un problema per cui un callback dell’hook non valido non viene sempre identificato
  • Vari miglioramenti alla qualità del codice

1.12.0

  • Corretta la gestione degli eventi cron di PHP.
  • Maggiore “namespacing” delle variabili di query per evitare conflitti con altri plugin di gestione cron.

1.11.0

  • Introduced an Export feature to the event listing screen for exporting the list of events as a CSV file.
  • Added the timezone offset to the date displayed for events that are due to run after the next DST change, for extra clarity.
  • Introduced the crontrol/filter-types and crontrol/filtered-events filters for adjusting the available event filters on the event listing screen.
  • Tanti miglioramenti alla qualità del codice (grazie, PHPStan!).

1.10.0

  • Supporto per messaggi di errore più granulari relativi al cron in WordPress 5.7
  • Diversi miglioramenti dell’accessibilità
  • Warning for events that are attached to a schedule that is too frequent
  • Maggiore chiarezza sugli eventi e sugli orari che sono integrati nel core di WordPress
  • Add a Help tab with links to the wiki and FAQs

1.9.1

  • Corregge l’aggiunta di nuovi eventi cron quando DISALLOW_FILE_EDIT è vero.

1.9.0

  • Aggiunti i filtri e l’ordinamento alla schermata dell’elenco degli eventi. Grazie a @yuriipavlov.
  • Sostituire le schede “Aggiungi nuovo” con un pulsante standard “Aggiungi nuovo” nella pagina di elenco degli eventi cron.
  • Torna ad utilizzare i controlli nativi del browser per l’inserimento della data e dell’ora.
  • Aggiungi un messaggio di errore quando si cerca di modificare un evento inesistente.
  • Introdotto un messaggio informativo che appare quando ci sono eventi che non sono stati programmati.
  • Esegui azioni quando gli eventi cron e le pianificazioni vengono aggiunti, aggiornati e cancellati.

1.8.5

  • Corretto un problema con le schede nella versione 1.8.4.

1.8.4

  • Add a warning message if the default timezone has been changed. More information.
  • Corretta la stringa che viene passata alla funzione strtotime() quando viene scelta l’opzione Adesso quando si aggiunge o si modifica un evento.

1.8.3

  • Corretta la modifica degli eventi che non sono attualmente elencati nella prima pagina dei risultati.

1.8.2

  • Esclude il controllo degli eventi duplicati quando si esegue manualmente un evento. Questo permette di eseguire manualmente un evento anche se la scadenza è entro dieci minuti o se è in ritardo.
  • Forza l’attivazione di un solo evento quando si esegue manualmente un evento cron.
  • Introduce polling of the events list in order to show a warning when the event listing screen is out of date.
  • Aggiunto un avviso per le pianificazioni cron che sono più brevi di WP_CRON_LOCK_TIMEOUT.
  • Aggiunto l’evento Site Health check all’elenco degli hook persistenti del core.

1.8.1

  • Fix the bottom bulk action menu on the event listing screen.
  • Rendere più evidente il fuso orario quando si aggiunge o si modifica un evento cron.

1.8.0

  • Ricerca e paginazione per gli eventi cron
  • Possibilità di cancellare tutti gli eventi cron con un determinato hook
  • Messaggi di risposta più precisi nella gestione degli eventi (in WordPress 5.1+)
  • Avvisi visivi per gli eventi senza azioni e per gli eventi PHP con errori di sintassi.
  • Chiarimenti e correzioni relative al fuso orario
  • Un’interfaccia utente più unificata
  • Base del codice modernizzata

1.7.1

  • Correct the PHP.net URL for the strtotime() reference.

1.7.0

  • Remove the date and time inputs and replace with a couple of preset options and a plain text field. Fixes #24 .
  • Ensure the schedule name is always correct when multiple schedules exist with the same interval. Add error handling. Fixes #25.
  • Re-introduce the display of the current site time.
  • Use a more appropriate HTTP response code for unauthorised request errors.

1.6.2

  • Remove the ability to delete a PHP cron event if the user cannot edit files.
  • Remove the Edit link for PHP cron events when the user cannot edit the event.
  • Evita un avviso di PHP dovuto ad una variabile non definita quando si aggiunge un nuovo evento cron.

1.6.1

  • Correzione di un potenziale errore irreversibile nella schermata di elencazione degli eventi cron.

1.6

  • Introduzione della cancellazione di massa degli eventi cron. Evviva!
  • Mostra il nome del programma invece dell’intervallo di tempo accanto ad ogni evento.
  • Aggiunto il nuovo evento delete_expired_transients di Core all’elenco degli eventi di Core.
  • Non permette che le pianificazioni cron personalizzate vengano cancellate se sono in uso.
  • Aggiunti i collegamenti tra le schermate di amministrazione degli Eventi e degli Orari.
  • Aggiunta l’evidenziazione della sintassi all’editor del codice PHP per un evento cron PHP.
  • Correzioni di stile per gli eventi con molti argomenti o argomenti lunghi.
  • Miglioramenti al testo di aiuto.
  • Rimosso l’uso di create_function().
  • Corretti alcuni commenti dei traduttori, migliorato l’i18n, migliorati gli standard di codifica.

1.5.0

  • Show the hooked actions for each cron event.
  • Don’t show the Delete link for core’s built-in cron events, as they get re-populated immediately.
  • Correct the success message after adding or editing PHP cron events.
  • Correct the translations directory name.