Support » Allgemeine Fragen » Cron job für WordPress

  • Gelöst schilli1

    (@schilli1)


    Hallo zusammen,

    ich bin ein absoluter Newbie mit php und bitte um Hilfe für max 5 Zeilen Code.
    Ich erstelle gerade mit WordPress meine Homepage und benötige für den automatisierten Email Nachrichten einen Cron job.

    Dieser Link:
    https://vaz-neumarkt.de/wp-cron.php?banp_send_scheduled_notifications=1&key=3 ddd… “
    soll alle 15min aufgerufen werden.

    Strato sagt:
    Anmerkung: Bei der Verwendung von zu „komplizierten“ Ausdrücken empfehlen wir Ihnen, diese zuerst in ein Skript-File zu schreiben und vorher per Kommandozeile zu testen. Script-Aufrufe können einfach mit einem Pfad relativ zum Hauptverzeichnis des Webspace erfolgen (sofern das Script direkt unter „htdocs“ steht, also nur der Skriptname selber).

    Beispiele:
    /bin/php -f skriptdatei.php
    /bin/php skriptdatei.php
    /bin/php ./skriptdatei.php
    Diese Beispiele führen die Datei „skriptdatei.php“ aus, die sich im Hauptverzeichnis befindet.

    Mein Versuch war:

    skriptdatei.php
    mit folgendem Inhalt:

    <?php
    echo " <a>";
    ?>

    gab natürlich Fehler

    Ich denke am einfachsten wäre die skriptdatei.php mit dem richtigen Befehl.

    Ich würde mich freuen, wenn ich von euch einen Vorschlag bekomme.

    Grüße Christian

    und danke

    Die Seite, für die ich Hilfe brauche: [Anmelden, um den Link zu sehen]

Ansicht von 2 Antworten - 1 bis 2 (von insgesamt 2)
  • Cron-Jobs belasten zusätzlich die Ressourcen des Webservers und deshalb bieten einige Webhoster ihren Kunden die Möglichkeit, einen eigenen Cron-Job einzurichten, erst gar nicht an.
    Damit WordPress trotzdem zeitgesteuert Aufgaben ausführen kann, wir ein „Pseudo-Cron“ verwendet. Damit ist gemeint, dass WordPress immer, wenn eine Webseite abgerufen wird, kurz nachschaut, ob zwischenzeitlich Aufgaben ausgeführt werden sollten. Diese werden dann direkt nachgeholt, wobei es dabei zu erheblichen Verzögerungen kommen kann: Wenn du die Veröffentlichung einer Seite für den nächsten Tag 12:00 Uhr mittags planst, aber der nächste Webseitenbesucher erst am Nachmittag um 15:00 Uhr vorbeischaut, wird die Seite auch erst nach 15:00 Uhr veröffentlicht. Der Besucher um 15:00 Uhr sieht die Seite noch nicht, weil sein Besuch erst die Veröffentlichung auslöst. Besucht er die Website wenige Minunten später, kann er sich aber auch über die neue Seite freuen.

    Nun soll es Anbieter geben, die eine Einrichtung eines Cron-Jobs erlauben. In diesen Fällen legst du (meistens im Kundenmenü des Webhosters) einen Cronjob so an, dass z.B. alle 15 Minuten die Webseite wp-cron.php aufgerufen wird. Dadurch wird wieder nachgeschaut, ob zwischenzeitlich Aufgaben ausgeführt werden sollten – nur sind die Abstände in dem von dir geplanten Intervall. (Das sollte nicht zu eng getaktet werden, weil die Performance der Website leidet und sich der Webhoster wahrscheinlich auch irgendwann meldet und nachfragt, ob das nötig ist.) Wenn du einen eigenen Cronjob eingerichtet hast, solltest du noch den Pseudo-Cron deaktivieren. Wie das geht, steht in diesem lesenswerten Beitrag: So deaktivierst du WP-Cron (wp-cron.php) für schnellere Leistung

    Ganz unabhängig davon kannst du auf deinem Webserver neben WordPress weitere PHP-Skripte installieren, auch solche die eine E-Mail versenden. Und die kannst du natürlich auch per Cron-Job aufrufen. Das Skript

    <?php
        $to      = 'nobody@example.com';
        $subject = 'the subject';
        $message = 'hello';
        $headers = 'From: webmaster@example.com'       . "\r\n" .
                     'Reply-To: webmaster@example.com' . "\r\n" .
                     'X-Mailer: PHP/' . phpversion();
    
        mail($to, $subject, $message, $headers);
    

    würde dann an den E-Mail-Empfänger nobody@example.com eine E-Mail mit Betreff the_subject und Nachrichtentext hello versenden – wenn’s sein muss, auch viertelstündig.

    Mit WordPress hat das alles herzlich wenig zu tun und für die weitere Ausschmückung der E-Mail empfehlen ich einen gut gemachten PHP-Kurs (auf Youtube gibt es z.B. einige wirklich empfehlenswerte Kurse).

    Wenn du aber ein Plugin schreibst, kannst du die beschriebene Cron-Funktionalität auch nutzen, indem du die Schedule-API verwendest. Die WordPress-Dokumentation hält dazu eine Beschreibung auf der Seite Cron und Folgeseiten bereit.

    Thread-Starter schilli1

    (@schilli1)

    Danke

Ansicht von 2 Antworten - 1 bis 2 (von insgesamt 2)
  • Das Thema „Cron job für WordPress“ ist für neue Antworten geschlossen.