WordPress 4.7 call_user_func_array()

Lesezeit: 1 Minute

Benutzeravatar von boisterouslobster
ausgelassener Hummer

Aktualisiert auf WordPress 4.7 und erhalte diesen Fehler, wenn ich eines meiner benutzerdefinierten Plugins aktiviert habe:

( ! ) Warning: call_user_func_array() expects parameter 1 to be a valid callback, no array or string given in /home/vagrant/Sites/wordpress/wp includes/class-wp-hook.php on line 298

Ich bekomme das auch mit aktiviertem Debugging: Geben Sie hier die Bildbeschreibung ein

Ich bin mir nicht sicher, was das Problem ist, da der Stack-Trace ziemlich kryptisch erscheint. Irgendwelche Ratschläge, was das Plugin kaputt gemacht haben könnte, oder wie man das Problem diagnostiziert?

  • Kannst du uns den Quellcode deines Plugins zeigen?

    – Connor Gurney

    13. Dezember 2016 um 3:16 Uhr

  • Hier ist das SVN-Repository: plugins.svn.wordpress.org/rsvpify-rsvp-form

    – ausgelassener Hummer

    13. Dezember 2016 um 3:17 Uhr

  • Hallo, add_action(‘plugins_loaded’, $this->plugin_update()); Überprüfen Sie diese Zeile in Ihrem Plugin, hier müssen Sie etwas ändern. Gehen Sie zu admin->class-rsvpify-embedd-admin.php

    – Afsal

    13. Dezember 2016 um 7:24 Uhr

  • Ich bin mir nicht sicher, ob ich das verstehe – stimmt etwas mit dieser Methode nicht, oder mit der Art, wie ich sie nenne?

    – ausgelassener Hummer

    14. Dezember 2016 um 1:23 Uhr

Wie @Afzal erwähnte, ist diese Zeile problematisch:

add_action('plugins_loaded', $this->plugin_update());

Wir können den Fehler, den Sie erhalten haben, mit diesem einfachen Beispiel replizieren:

class Test
{
    public function init()
    {
        add_action( 'plugins_loaded', $this->plugin_update() );
    }

    public function plugin_update()
    {
    }
}

$obj = new Test;
$obj->init();   

Der übliche Weg, dieses Problem zu umgehen, besteht darin, Folgendes zu ersetzen:

add_action( 'plugins_loaded', $this->plugin_update() );

mit:

add_action( 'plugins_loaded', array( $this, 'plugin_update' ) );

  • Super, danke! Ich muss allerdings 10 Stunden warten, bevor ich Euch das Kopfgeld zusprechen kann.

    – ausgelassener Hummer

    24. Dezember 2016 um 19:29 Uhr

1427170cookie-checkWordPress 4.7 call_user_func_array()

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

Privacy policy