0

我创建了一个带有两个小部件的插件。第一个小部件位于侧边栏中,但第二个小部件需要使用简码显示在页面帖子中 [mywidget] 我怎样才能做到这一点?基本上我需要使用 [mywidget] 短代码在页面帖子中显示“你好”。

//register widget FUNCTION
add_action('widgets_init', 'ds_register_widgets');

//call register widget FUNCTION
function ds_register_widgets(){
    register_widget('ds_bm_info');
    register_widget('ds_bm_odds');
}

//widget class
class ds_bm_info extends WP_Widget { }

//widget class
class ds_bm_odds extends WP_Widget {

function widget( $args, $instance ) {
        echo "hello me";
    }
}
4

1 回答 1

0

对于一个简单的功能:

add_shortcode('mywidget', 'mywidget_function');

function mywidget_function() {
   echo "Hello me";
}

如果它在小部件类中:

add_shortcode( 'mywidget', array( 'ds_bm_odds', 'mywidget_function' ) );

class ds_bm_odds extends WP_Widget {

    public function mywidget_function()
    {
        echo "Hello me";
    }
    // ...

}

两者都应该工作。但是,如果您不使用管理小部件管理(即,将特殊参数传递给短代码),则无需在小部件中注册此短代码。

于 2013-05-17T12:26:57.430 回答