2011-03-02 55 views
-1

我有这样的功能:访问不同函数中的函数参数?

<?php myWidget() { ?> 

     <div id="<?php echo $args['widget_id']; ?>"> 
       <p>Something</p> 
     </div> 

    <?php } ?> 

(WIDGET_ID是WordPress的核心功能,所以我必须没有直接访问,它只是简单地生成小部件名称)

我想我的小部件添加为简码等等需要创建另一个功能:

function myWidget_shortcode($atts) { 
     extract(shortcode_atts(array(
     /* attributes here */ 
     ), $atts)); 

     ob_start();  
     the_widget(myWidget); 
     return ob_get_clean(); 
}  

the_widget只是简单地调用一个名为myWidget的小部件。

问题是,一切正常,但是当我使用第二个代码时,id =“”总是空的。

我知道这是一个WordPress的问题,但我相信这与我的PHP代码有关。

任何想法?

+0

这当然也是一个PHP问题,但是您可以在http://wordpress.stackexchange.com/上获得更具体的帮助(主持人关注的标志,并且移动了您的问题) – mario 2011-03-02 14:32:31

+0

第一段代码没有有效的PHP代码。 – rik 2011-03-02 14:33:04

+0

第一个例子可能是某种WordPress模板吗? – 2011-03-02 14:37:48

回答

0

从您的上一条评论来看,问题是$ args没有设置,并且由于ID是从$ args设置的,所以它会“”。

您必须找出$ args的设置位置,并确保零件已运行或设置为您的自我。

$ args在这种情况下不是myWidget方法的参数,而是全局数组。如果它存在于所有

isset($args) 
0

检查我的猜测是它的一个范围问题。该函数内部不存在$args。尝试将它传递给函数