How to fix this warning:call_user_func_array() expects exactly 2 parameters, 1 given in D:\wamp\www\…\wp-includes\class-wp-hook.php on line 286

wordpress.stackexchange https://wordpress.stackexchange.com/questions/310718

  •  10-05-2021
  •  | 
  •  

Question

I am creating Wordpress Dashboard Menu:

add_action('admin_menu', 'personalised_menu');

function personalised_menu() {

    add_menu_page(
          'Page Title'
        , 'Blog'
        , 'edit_posts'
        , 'menu_slug'
        , 'call_user_func_array'
        , 'dashicons-welcome-write-blog'
    );

    add_submenu_page(
          'menu_slug'
        , 'Add New Page'
        , 'Add New'
        , 'edit_posts'
        , 'add_new_page'
        , 'call_user_func_array'
    );

}
Was it helpful?

Solution

Replace 'call_user_func_array' with name of the function to be called to output the page content.

add_action('admin_menu', 'personalised_menu');
function personalised_menu()
{
   add_menu_page( 'Page Title', 'Blog', 'edit_posts', 'menu_slug',
       'display_main_page', 'dashicons-welcome-write-blog' );
   add_submenu_page( 'menu_slug', 'Add New Page', 'Add New', 'edit_posts','add_new_page', 
        'display_secondary_page' );
}

function display_main_page() {
    echo 'Content of "Page Title"';
}

function display_secondary_page() {
    echo 'Content of subpage';
}
Licensed under: CC-BY-SA with attribution
Not affiliated with wordpress.stackexchange
scroll top