如何在widget的form函数中获取$id变量?根据widget的结构,我看到widget函数有$args作为参数,它将在函数体中提取。在我的例子中,我想使用包含当前侧栏id的$id变量(从提取的$args中)。如何在表单函数中使$id变量“可见”?有什么想法吗?
class Ex_Widget_Example extends WP_Widget {
//constructor goes here
function widget($args, $instance) {extract($args);}
function update($new_instance, $old_instance ) { }
function form( $instance ) {}
}
例如,我们有id为“my_sidebar”的边栏。我把这个小部件放进去了。例如,我们用来在页面上输出内容的我的小部件函数如下所示:
function widget($args, $instance) {
extract($args);
echo $id; //or just echo $args[\'id\'];
}
因此,在我的页面上,在我的“my\\u侧边栏”侧边栏中,我将看到一个文本“my\\u侧边栏”。那太好了。但我如何才能在widget的form函数中获得这个$id或$args[\'id\']。在类示例中,我看到,只有widget函数将$args作为参数。我不是OOP编程专家,我尝试创建一个静态变量(未成功),该变量将保留id值:
class Ex_Widget_Example extends WP_Widget {
public static $widget_id;
//constructor goes here
function widget($args, $instance) {
extract($args);
self::$widget_id = $id;
echo self::$widget_id //here outputs sidebar\'s id perfectly on my page
}
function update($new_instance, $old_instance ) { }
function form( $instance ) {
echo self::$widget_id //here outputs nothing on my widget\'s form
}
}
也许wordpress先调用表单函数,再调用widget函数,这就是为什么我在表单上看不到任何东西。。。。不管怎样,有什么办法解决这个问题吗?