Wann läuft wp-cron.php in WordPress?

Lesezeit: 4 Minuten

Benutzer-Avatar
softdev

Ich brauche Details zu wp-cron. ich benutzte wp_schedule_event
zum automatischen Versenden von E-Mails.

Aber wp_schedule_event wird nur ausgelöst, wenn ein Benutzer unsere Seite besucht. Wie lässt sich der Cron automatisch ausführen?

Benutzer-Avatar
Igor Parra

Es wird beim ersten Besuch direkt nach der geplanten Zeit ausgeführt.
1.- Ja, automatisch ausgeführt, aber durch einen Besucher ausgelöst.
2.- Es reicht aus, E-Mails regelmäßig zu versenden.


Für ein echtes Cron-Verhalten können Sie ein Skript mit ausführen crontab

crontab -e
wget -q http://domain.com/wp-content/some-path/your-script.php

-q: leise (keine Ausgabe). Führen Sie einfach das Skript aus. Andernfalls haben Sie viele Dateien auf Ihrem Server (wget pull files)

Tipp: http://www.thegeekstuff.com/2011/07/php-cron-job/


Verwenden von cpanel: http://wiki.hostbillapp.com/index.php?title=Einstellungen:_cPanel:_Cron_job

Geben Sie hier die Bildbeschreibung ein

  • ist es möglich, automatisch zu einer geplanten Zeit auszulösen? nicht vom Besucher abhängig

    – softsdev

    15. Oktober 2012 um 14:22 Uhr

  • Ja, siehe meine aktualisierte Antwort. Ich habe es viele Male für Scraping-Jobs getan!

    – Igor Parra

    15. Oktober 2012 um 14:28 Uhr

  • Können Sie mir bitte sagen, wo ich dieses Skript ausführen/schreiben muss?

    – softsdev

    15. Oktober 2012 um 14:39 Uhr

  • Wo immer Sie wollen auf Ihrer öffentlichen Website. Es ist gleich jeder anderen PHP-Datei http://domain.com/wp-content/some-path/your-script.php

    – Igor Parra

    15. Oktober 2012 um 14:42 Uhr

  • Ich habe bereits ein Ereignis mit Cpanel Cron geplant. Ich überprüfe, ob Code direkt verwendet werden kann. Eigentlich erstelle ich ein Plugin in WordPress, sodass dieses Plugin auf verschiedenen Websites verwendet werden kann. Deshalb suche ich nach einer Lösung dafür

    – softsdev

    15. Oktober 2012 um 15:07 Uhr


Benutzer-Avatar
s_ha_dum

wp_cron tut nicht laufen die ganze Zeit im Hintergrund, wie der Name vermuten lässt. Diese Art der Planung ist für eine Webanwendung wie WordPress nicht möglich, da das WordPress-Skript nur ausgeführt wird, wenn jemand die Website ansieht, und nicht ausgeführt wird, wenn niemand zusieht. Stattdessen werden beim Booten des WordPress-Skripts die Cron-Werte überprüft und wenn einer (über)fällig ist, wird er ausgeführt. Es kann ein paar Minuten oder ein paar Stunden zu spät sein, aber so funktioniert es. The wp_cron Jobs werden grundsätzlich bei der ersten Gelegenheit ausgeführt.

Wenn Sie ein Skript ausführen möchten, wenn jemand die Website besucht, möchten Sie das nicht wirklich wp_cron überhaupt. wp_cron wird nicht ausgelöst, wenn jemand zu Besuch kommt. Es ist ein Fuzzy-Timer. Um zu rennen, wenn jemand zu Besuch kommt, müssen Sie einiges durchdenken. Sie könnten eine Funktion in die functions.php Ihres Themas einfügen, aber sie würde bei jedem Seitenladen ausgeführt, nicht nur beim ersten Laden des Besuchs. Du könntest einhaken wp_login und führen Sie Ihre Funktion aus, wenn sich jemand anmeldet. Sie müssen zuerst entscheiden, was als “Besuch” gilt.

  • Ich möchte, dass mein Skript wie ein Cron-Job auf dem Server funktioniert, wenn Code verwendet wird, ist dies möglich?

    – softsdev

    15. Oktober 2012 um 14:27 Uhr

  • Genau das habe ich gesagt es funktioniert nicht und die Beschaffenheit des HTTP-Protokolls und einer PHP-basierten Anwendung macht es nahezu unmöglich. Dazu benötigen Sie so etwas wie real *nix cron. Es tut mir leid. Das ist die Antwort. Ich wünschte, es wäre mehr, was du wolltest.

    – s_ha_dum

    15. Oktober 2012 um 14:44 Uhr

Es scheint, dass jeder gerade geantwortet hat, wie ein * nix cron eingerichtet werden sollte. Wobei die eigentliche Antwort WordPress-spezifisch sein sollte. Es gibt eine Einstellung, die in der wp-config.php vorgenommen werden kann

define('DISABLE_WP_CRON', 'true');

Wenn Sie jetzt den * nix cron konfigurieren können, wie Igor Parra antwortete, werden die Hintergrund- und Offset-Cron-Jobs nicht mehr ausgeführt, wobei die im Control Panel oder crontab eingestellte Zeit wirksam ist.

  • Sie beantworten die Frage auch nicht, da das OP wissen möchte, wann es ausgeführt wird, und nicht, wie es in WordPress deaktiviert werden kann.

    – Alexander Holsgrove

    3. Oktober 2016 um 13:39 Uhr

Sie müssen den Cron auch einstellen, nachdem Sie die Funktionalität in die Datei geschrieben haben.

Verweisen : http://wp.tutsplus.com/articles/insights-into-wp-cron-an-introduction-to-scheduling-tasks-in-wordpress/

Das Echte ist immer vorzuziehen, aber es kann in WordPress (reines PHP) gemacht werden:

http://pippinsplugins.com/improved-cron-plugin-review/

1384860cookie-checkWann läuft wp-cron.php in WordPress?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy