Ich versuche, einen Cron-Job in meinem Wordpress-Blog zu implementieren. Ich möchte diese Sachen in einem Plugin tun, für die Prüfung Ich versuche alle 10 Minuten in einer Datei einige Protokollinformationen zu schreiben, für die tun, dass ich diesen Code (PHP) schrieb:Cron und WordPress funktionieren nicht. Was habe ich vergessen?
add_filter('cron_schedules', 'ten_minute_prefix');
function ten_minute_prefix($schedules)
{
$schedules['tenmins'] = array(
'interval' => 600,
'display' => __('10 minutes'),
);
return $schedules;
}
//This must be here always
add_action('my_task_hook', 'foo_task');
function foo_task()
{
file_put_contents('data.txt', date("Y-m-d H:i:s") . "task do it\r\n", FILE_APPEND);
}
//This is executing in my plugin page in tools section
function myplugin()
{
//For checking permissions
file_put_contents('data.txt', date("Y-m-d H:i:s") . "Task begin\r\n", FILE_APPEND);
wp_schedule_event(time(), 'tenmins', 'my_task_hook'); // hourly, daily and twicedaily
echo "SCHEDULE ACTION";
...
}
Zur Überprüfung, dass i habe wirklich den Cron-Job erstellt, ich benutze zum Beispiel dieses Plugin http://wordpress.org/extend/plugins/cron-view/. Dieses Plugin sagt mir das "Eintrag # 10: mein_task_hook √ Aktion existiert".
Aber nichts passiert, die Datei ist nicht geschrieben, was ist das Problem?
Edit:
ich eine Zeile in myplugin Funktion hinzugefügt haben zu sehen, ob ich die Berechtigung für Dateien zu schreiben. In der Tat, ich habe Berechtigungen, eine Datei data.txt wird in WP-Admin/Ordner erstellt.
Edit2:
ich die Cron-Jobs in Wordpress einfach zu verstehen!
Cron in WordPress ist kein echtes Cron, es wird nur ausgelöst, wenn ein Benutzer die Webseite öffnet, wenn niemand die Seite öffnet, wird der Prozess nicht ausgelöst. Also, wenn ein Blog keine Besucher hat, funktionieren Cron-Jobs nicht.
Bitte korrigieren Sie mich, wenn ich einen Fehler habe.
Ich habe die Frage bearbeitet, ich denke, dass ich die richtigen Berechtigungen habe. – dlopezgonzalez