Situación: estoy trabajando en un complemento y lo estoy desarrollando como una clase, todo funcionó bien hasta que me encontré con esta situación. Quería hacer las cosas un poco más limpias y probé esto ...
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
He probado un montón de opciones diferentes, pero nada funciona, tal vez estoy frente a él, pero no puedo verlo.
Por supuesto, esta es una recreación, he prefijado todas mis funciones y no son exactamente como las escribí aquí, pero espero que sepas la idea que estoy pidiendo.
Gracias por adelantado.
PD: Si desea ver el código fuente original, me complacerá pegarlo y darle el enlace.