我正在尝试将两个小部件添加到我正在开发的Wordpress插件中。调用多个类的正确方法是什么?
我有一个包含my-plugin.php的插件文件夹:
class WidgetA extends WP_Widget {
function widget_a() {
...
}
function form($instance) {
...
}
function update($new_instance, $old_instance) {
...
}
function widget($args, $instance) {
...
}
}
add_action('widgets_init', create_function('', 'return register_widget("WidgetA");'));
class WidgetB extends WP_Widget {
function widget_b() {
...
}
function form($instance) {
...
}
function update($new_instance, $old_instance) {
...
}
function widget($args, $instance) {
...
}
}
add_action('widgets_init', create_function('', 'return register_widget("WidgetB");'));
如果删除WidgetA,则WidgetB正常运行,反之亦然。但如果我包括这两个类,则不会显示任何内容
在插件中定义两个小部件/类的正确方法是什么?
答案 0 :(得分:3)
您可以使用以下代码将多个窗口小部件类声明为单个插件:
add_action( 'widgets_init', 'src_load_widgets' );
function src_load_widgets() {
register_widget( 'WidgetA' );
register_widget( 'WidgetB' );
}
class WidgetA extends WP_Widget {
// ...
}
class WidgetB extends WP_Widget {
// ...
}
来源:https://wordpress.stackexchange.com/questions/47492/wordpress-multiple-widget-in-single-plugin