Question: **Situation:** I'm working on a plugin and I'm developing it as a class, everything worked fine until I run into this situation. I wanted to make things a bit cleaner and tried this..

```
class MyPlugin {
    function __construct() {
        add_action('admin_menu', array(&$this, 'myplugin_create_menus');
    }        

    //I don't want to write a function for every options page I create
    //so I prefer to just load the content from an external file.        
    function load_view($filename) {
        $view = require(dirname(__FILE__).'/views/'.$filename.'.php');
        return $view;
    }

    //Here is where the problem comes
    function myplugin_create_menus() {
        add_menu_page( 'Plugin name',
                       'Plugin name',
                       'manage_options',
                       'my-plugin-settings',
                       array(&$this, 'load_view') // Where do I specify the value of $filename??
                     );
    }

}#end of class

```

I've tried a bunch of different options but nothing works, maybe I'm in front of it but I can't see it.

Of course this is a re-creation, I've prefixed all my functions and they are not exactly as I wrote here but I hope you got the idea of I'm asking for.

**Thanks in advance.**

P.D.: If you want to see the original source code I'll be glad to paste it and give you the link.

Answer: 
You could always just use an anonymous function (or closure). Something to the affect of:

```
add_menu_page( $page, $menu, $capability, $slug, function() { print_my_admin_page($with_args); }, $icon, $position);

```
I solved this problem by just appending the ID (or whatever data you need to) to the menu slug.

For example:

```
 add_menu_page( 'Plugin name',
                       'Plugin name',
                       'manage_options',
                       'my-plugin-settings-' . $identifier,
                       'setting-function-callback'
                     );

```

This will then create a URL with 'my-plugin-settings-filename' (as an example), and I can just parse that part of the URL (with the $\_GET or filter\_input).