Wordpress Cronjob führt Datei nicht aus

  • Hallo alle zusammen.

    habe mir ein kleines Plugin geschrieben, welches 1x täglich schaut ob aktualisierungen vorhanden sind.

    Wenn ich die Datei manuell aufrufe funktioniert alles wunderbar und ich bekomme auch eine E-Mail.

    Nun habe ich im Plugin ein cron angelegt welcher 1x täglich laufen soll. Nur habe ich das Gefühl das er diesen nicht ausführt. Ich bekomme auch keine Mail mehr zugesandt. Im folgenden einmal der Code vielleicht habt ihr eine Idee?

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Gibt es mind. 1x täglich einen Besucher auf dem Website? Die Abarbeitung der WordPress Cron Einträge wird durch Besucher getriggert.


    Ja das ist vorhanden, ich habe auch zum testen im backend geklcikt Cron jetzt ausführen auch da kommt nichts an

  • Wo genau klickst Du denn "Cron jetzt ausführen" im Backend?

    Generell bei sowas: Viel Logging einbauen, z.B. per WP_DEBUG ins debug.log, Schritt für Schritt nachvollziehen, was wo wie passiert.

  • Habe mir das Plugin: WP Crontrol installiert womit die Cronjobs angezeigt werden.


    Okay das mit dem Debug kann ich nocheinmal testen ob er mir dort was herausschmeißt.

  • Viel Logging in Deinen Code einbauen, dann siehst Du schön im debug.log welche Funktion wann wie ob ausgeführt wird...


    Vielen Dank :) Habe den Fehler durch den error_log gefunden :) Mir war aus irgendwelchen Gründen diese Funktion so noch nicht bekannt

  • Allerdings verstehe ich nicht ganz wieso er bei mir wenn ich folgende Funktion aufrufe

    [size=24]wp_get_update_data[/SIZE]() immer totals = 0 ausgibt obwohl z.B 3 Aktualisierungen vorhanden sind. Es hat mir den anschein das er die Funktion im Plugin nicht richtig oder irgendwie falsch interpretiert. Hat jemand von euch damit erfahrungen? Aus dumpen geht leider ja schlecht

  • Keiner eine Idee wieso die Funktion immer 0 zurückgibt - muss man vorher noch was includen oder gibt es eine Besonderheit diese Funktion in einem eigenen Plugin zu nutzen?

  • Ein kurzer Blick in den Code von wp_get_update_data() ergibt, dass dort via current_user_can(..) bestimmte Rechte (bei WordPress "Capabilites" genannt) des aktuellen Benutzers geprüft werden.

    Da Dein Plugin via Cron nicht im Kontext eines Benutzers mit solchen Rechten im Backend läuft, lässt sich diese 0 ganz gut erklären.

    Als Workaround könntest Du den Code von wp_get_update_data() in eine eigene Funktion Deines Plugins kopieren und die entspr. Checks weglassen.

  • Ah jetzt verstanden - aber als frage so nebenbei wenn ich die get_update _data Funktion kn der functions.php ausführe zeigt er mir alles richtig an, dort sind ja auch keine Rechte von Usern vorhanden ?

  • Repost: mit den Funktionen wie in der Doku klappt es nun. Nur get_core_updates funktioniert nicht da die Function undefined ist in meinem Plugin. Whrsl muss ich die update.php icludieren

    Ich weiß ich hatte es hier schon mal angesprochen, habt ihr eine Idee wie ich meine eigenen Wordpress Plugins mit Hilfe von Git aktualisieren kann? Die Plugins sind nicht direkt bei Wordpress Plugin enthalten, heißt nicht öffentlich. Gerne würde ich aber dennoch per Git aktualisierungen verbreiten. Ich hatte vor kurzem schon etwas darber gelesen, aber finde es leider nicht mehr

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!