阻止第二个小部件激活

时间:2014-04-02 作者:wordpressguest

在某个区域上激活一次小部件后,有没有办法“从可用小部件中删除小部件”?这个想法是允许用户只激活它的一个实例。

3 个回复
SO网友:Douglas.Sesar

您可以使用以下示例创建一次性小部件:wp_register_sidebar_widget

下面的代码将创建一个名为“您的小部件”的小部件,该小部件将在WordPress管理面板中可用。然后可以将小部件拖动到可用的侧栏中进行显示。

请注意,此小部件只能在1个侧栏中使用一次。对于递归小部件(可以多次添加并添加到多个侧栏的小部件),请参阅注册小部件功能。

function your_widget_display($args) {
   extract($args);
   echo $before_widget;
   echo $before_title . \'My Unique Widget\' . $after_title;
   echo $after_widget;
   // print some HTML for the widget to display here
   echo "Your Widget Test";
}

wp_register_sidebar_widget(
    \'your_widget_1\',        // your unique widget id
    \'Your Widget\',          // widget name
    \'your_widget_display\',  // callback function
    array(                  // options
        \'description\' => \'Description of what your widget does\'
    )
);

SO网友:Layka

您可以使用JQuery将其从“Aviable widgets”面板中删除(如果已经使用过一次)。

  $( document ).ready( function() {
     $( \'#widgets-right input[value="widget-id_base"]\').each( function () {
       $( \'#widgets-left .widget:has(input[value="widget-id_base"])\' ).css( \'display\', \'none\' );
     } ); 
  } );

SO网友:lippoliv

这不是一个好主意。因为我开发的主题更为复杂,所以通过不同的视图可以获得不同的侧栏。

例如:标准侧栏:显示在ContentShop侧栏旁边:显示在店铺概览旁边

现在我想把你的小部件放在两个侧栏中,因为没有视图,两个侧栏都是同时可见的。

您搜索的是将小部件放置在侧栏中,小部件仍然存在,对吗?

结束

相关推荐

Individual Widgets per Page

在我的Wordpress网站(仅限于页面,无帖子)中,我需要在侧边栏中放置一些静态blob。我们可以将这些“blob”称为小部件。至少他们会有一个固定的html内容,如“摘要1”、“摘要2”、“免责声明”、“foo策略”。。。我需要的是,在每一页上都有不同的安排。因此,这不仅仅是“单一”对“归档”,而是真正的“产品页面A”对“产品页面B”对“关于我们”对“服务条款”。。。我在考虑自定义元框,以便在单个编辑器页面上打开和关闭它们wp-admin/post.php?post=196&action=ed