Wordpress不会创建多个窗口小部件实例

时间:2017-12-04 02:51:51

标签: php wordpress

我认为Wordpress支持在同一位置创建多个小部件实例,但看起来它不在我的代码中。我创建了一个显示最近帖子的插件。在其中我创建了一个小部件,我希望能够在同一位置多次显示。

class My_Recent_Posts_Widget extends WP_Widget {

    function __construct() {
        parent::__construct(
            'recent_posts', // Base ID
            esc_html__( 'Recent posts', 'text_domain' ), // Name
            array( 'description' => esc_html__( 'Display posts via widgets', 'text_domain' ), ) // Args
        );
    }

我像这样注册小部件;

function register_my_recent_posts_widget() {
    register_widget( 'My_Recent_Posts_Widget' );
}
add_action( 'widgets_init', 'register_my_recent_posts_widget' );

问题是,如果我尝试将同一小部件​​的2个实例放在管理中的Widgets页面上的相同位置,则第二个小部件不会显示。

1 个答案:

答案 0 :(得分:0)

试试此代码

class My_Recent_Posts_Widget extends WP_Widget {
    public function __construct() {
        $widget_ops = array('classname' => 'my_widget_recent_entries', 'description' => esc_html__( "Your most recent Posts.",'text_domain') );
        parent::__construct('my-recent-posts', esc_html__('My Recent Posts Widget','text_domain'), $widget_ops);
        $this->alt_option_name = 'my_widget_recent_entries';
    }