Php 访问不同函数中的函数参数?
我有这个功能:Php 访问不同函数中的函数参数?,php,function,attributes,arguments,Php,Function,Attributes,Arguments,我有这个功能: <?php myWidget() { ?> <div id="<?php echo $args['widget_id']; ?>"> <p>Something</p> </div> <?php } ?> function myWidget_shortcode( $atts ) { extract( sho
<?php myWidget() { ?>
<div id="<?php echo $args['widget_id']; ?>">
<p>Something</p>
</div>
<?php } ?>
function myWidget_shortcode( $atts ) {
extract( shortcode_atts( array(
/* attributes here */
), $atts ) );
ob_start();
the_widget(myWidget);
return ob_get_clean();
}
_小部件只是简单地调用名为myWidget的小部件
关键是,一切正常,但当我使用第二个代码时,id=”“总是空的
我知道这是一个Wordpress问题,但我相信这与我的PHP代码有更多关系
有什么想法吗?根据您上次的评论判断,问题是$args没有设置,而且由于ID是从$args设置的,因此它将设置为“” 您必须找出$args的设置位置,并确保该部分已运行或自行设置 在本例中,$args不是myWidget方法的参数,而是一个全局数组 检查它是否存在
isset($args)
我猜这是一个范围问题<代码>$args不在函数内。试着把它传递给函数这当然也是一个PHP问题,但你可能会得到更具体的帮助(提醒版主注意,并移动你的问题)。第一个片段不是有效的PHP代码。第一个示例可能是某种Wordpress模板吗?@rik,@David Mårtensson,我的错误,这只是一个例子:)在调用myWidget之前,您能测试一下是否设置了$args吗?也许正常调用myWidget的代码会设置$args数组,而您的代码不会?