插件页面显示警告:call_user_func_array()需要参数1

时间:2018-08-02 09:37:53

标签: php wordpress plugins

我正在制作一个插件,当我添加一个用于manage_option的页面时,该页面向我显示

  

警告:call_user_func_array()期望参数1为有效的回调,找不到函数'myplugin_options_page'或D:\ xampp \ htdocs \ connect \ wp-includes \ class-wp-hook.php中的函数名称无效286

请在下面找到我用于插件的代码

主页

<?php
/*
Plugin Name: Name
URI: https://example.com/
Description: abc
Author: Pratik Purohit
License: GPLv2 or later
*/
function myplugin_register_settings() {
add_option( ‘myplugin_option_name’, ‘This is my option value.’);
register_setting( ‘myplugin_options_group’, ‘myplugin_option_name’, ‘myplugin_callback’ );
}
add_action( ‘admin_init’, ‘myplugin_register_settings’ );
function myplugin_register_options_page() {
add_options_page(‘Page Title’, ‘Plugin Menu’, ‘manage_options’, ‘myplugin’, ‘myplugin_options_page’);
}
add_action(‘admin_menu’, ‘myplugin_register_options_page’);

管理页面

<?php function myplugin_options_page()
{
?>
<div>
<?php screen_icon(); ?>
<h2>My Plugin Page Title</h2>
<form method=”post” action=”options.php”>
<?php settings_fields( ‘myplugin_options_group’ ); ?>
<h3>This is my option</h3>
<p>Some text here.</p>
<table>
<tr valign=”top”>
<th scope=”row”><label for=”myplugin_option_name”>Label</label></th>
<td><input type=”text” id=”myplugin_option_name” name=”myplugin_option_name” value=”<?php echo get_option(‘myplugin_option_name’); ?>” /></td>
</tr>
</table>
<?php submit_button(); ?>
</form>
</div>
<?php
} ?>

1 个答案:

答案 0 :(得分:0)

您需要将this.app_config = await this._configService.getConfigResponse(); 函数放在这一行之前。

myplugin_options_page

..因为Wordpress试图使用add_options_page(‘Page Title’, ‘Plugin Menu’, ‘manage_options’, ‘myplugin’, ‘myplugin_options_page’); PHP function回调您的函数,并且由于找不到该函数而引发错误。

如果您在另一个文件中定义了call_user_func_array函数,则应在主页面上添加一个myplugin_options_pagedoc),以便在执行该文件之前包含该函数。 require