根据侧边栏的不同,小部件的行为如何会有所不同

时间:2011-11-24 作者:pixeline

如果坐在侧边栏1上,我需要我的小部件的行为与侧边栏2上的不同。如何从widget()函数中检测它所在的侧栏?

该小部件包含帖子链接列表。根据哪个侧边栏,它应该使用不同的自定义图像大小版本的缩略图。

因此,将更改的是缩略图大小引用名称。例如,在一个侧边栏中,将使用“xs square thumb”;在另一种情况下,将使用“L-square-thumb”。

例如:get_the_post_thumbnail($post->ID,\'xs-square-thumb\');

2 个回复
最合适的回答,由SO网友:Norcross 整理而成

没有一种干净的方法来处理这个问题,因为没有一个条件来检查哪个边栏正在使用,只是检查它是否存在。但是,您可以执行以下操作:

制作两个不同版本的小部件(这将使其在小部件名称可能存在方面具有“未来证明”)。

在小部件选项中添加复选框,以选择要使用的图像大小。

SO网友:GSto

您可以检查传入$args 变量,它将为您提供它当前所在的widget化区域的id。

例如:

public function widget($args, $instance) {
  if( $args[\'id\'] == \'sidebar-1\' ) {
    //do sidebar stuff
  } else {
    //default behavior
  }
}

结束

相关推荐

Toggle Sidebar Display

我正在开发一个WordPress主题,允许用户使用Javascript切换侧栏的可见性,就像Wiki允许用户显示或隐藏目录一样。当用户单击链接隐藏侧栏时,我有一个toggle()javascript toggle函数,该函数将侧栏的可见性设置为“无”,并设置文档cookie,以便用户下次访问该页面时,侧栏将记住上次的切换状态。我有另一个javascript函数setToggleFromCookie(),它获取cookie并基于该cookie设置可见性。除以下情况外,其他情况均适用:如果侧栏被隐藏(即侧栏d