add_menu_page enthält eine PHP-Seite aus dem Themenverzeichnis

Ich habe einige benutzerdefinierte Tabellen zu einem WordPress hinzugefügt und versuche, wp-Admin-Abschnitt hinzuzufügen, um sie zu verwalten. Mit dem folgenden Code habe ich erfolgreich einen Menüpunkt in wp-admin hinzugefügt, aber ich kann die php-Seite, die sich in meinem Theme-Ordner befindet, nicht aufrufen

add_menu_page('Private Messages', 'Private Messages', 'manage_options', 'message_admin', 'message-admin.php', get_bloginfo('stylesheet_directory').'/style/images/message.png'); 

In error_log gibt es mir diesen Fehler

PHP Warnung: call_user_func_array () erwartet, dass Parameter 1 ein gültiger Callback ist, function ‘message-admin.php’ nicht gefunden oder ungültiger functionsname in /var/www/idon.dev/wp-includes/plugin.php in Zeile 470, Referer: http://idon.dev/wp-admin/admin.php?page=message_admin

Aktualisieren:

Das WordPress sagt

$ -function

(string) (optional) Die function, die den Seiteninhalt für die Menüseite anzeigt. Standard: Keine. Technisch gesehen ist der functionsparameter optional, aber wenn er nicht mitgeliefert wird, wird WordPress annehmen, dass das Einschließen der PHP-Datei den Verwaltungsbildschirm erzeugt, ohne eine function aufzurufen. Die meisten Plugin-Autoren entscheiden sich dafür, den Seiten-generierenden Code in eine function innerhalb ihrer Haupt-Plugin-Datei einzufügen. Für den Fall, dass der functionsparameter angegeben ist, kann eine beliebige Zeichenfolge für den Dateiparameter verwendet werden. Dies ermöglicht die Verwendung von Seiten wie “page = my_super_plugin_page” anstelle von “page = my-super-plugin / admin-options.php”.

Ich weiß was es bedeutet

PHP Warnung: call_user_func_array () erwartet, dass Parameter 1 eine gültige Callback-function ist

aber was ich versuche zu erreichen ist, eine Seite eher als function zu bezeichnen. was laut wordpress möglich ist, oder führe mich, wenn ich falsch liege.

Bitte beachten Sie, dass ich die Seite nicht in functionen einbeziehen möchte. Ich werde lieber meinen Code in function einfügen.

Solutions Collecting From Web of "add_menu_page enthält eine PHP-Seite aus dem Themenverzeichnis"

Der Fehler sagt Ihnen, was das Problem ist …

PHP Warnung: call_user_func_array() erwartet Parameter 1 als gültigen Callback, function

Ihr “callback” ist keine function. Es ist eine Datei. Es funktioniert nicht so. Sie benötigen eine Hilfsfunktion, um eine Datei einzuschließen. Etwas wie:

 add_menu_page( 'Private Messages', 'Private Messages', 'manage_options', 'message_admin', 'include_message_admin', get_bloginfo('stylesheet_directory').'/style/images/message.png' ); function include_message_admin() { // include('/path/to/message-admin.php'); // something like include(get_template_directory().'/message-admin.php'); // or include(get_stylesheet_directory().'/message-admin.php'); }