Situação: estou trabalhando em um plug-in e desenvolvendo-o como uma classe, tudo funcionou bem até eu me deparar com essa situação. Eu queria tornar as coisas um pouco mais limpas e tentei isso ..
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
Eu tentei várias opções diferentes, mas nada funciona, talvez eu esteja na frente, mas não consigo vê-lo.
É claro que isso é uma recriação, prefixei todas as minhas funções e elas não são exatamente como eu escrevi aqui, mas espero que você tenha a idéia de que estou pedindo.
Desde já, obrigado.
PD: Se você quiser ver o código fonte original, ficarei feliz em colá-lo e fornecer o link.