array(3) { [0]=> array(1) { ["before_widget"]=> string(0) "" } [1]=> string(0) "" [2]=> string(18) "ah_recent_posts_mu" } this goes into $params I call call_user_func_array($callback, $params), where callback = mrjc_widgetize_function; It gets to my routine, where I pick up the parameters: function mrjc_widgetize_function($val = 'ah_recent_posts_mu', $args) { var_dump($val); var_dump($args); But this prints just: array(1) { ["before_widget"]=> string(0) "" } string(0) "" Why has it passed only the first inner part, of array(3) {[0]=> array(1) { and not the rest? Is the rest available somewhere in the environment? Thanks.