将筛选器/挂钩应用于特定的侧栏小工具?

时间:2013-07-14 作者:ZK_

我正在开发一个有5个以上不同侧边栏的主题,我想将一个函数应用到其中一个侧边栏上,以便于设计样式。基本上,该函数将使用计数器修改其参数,以显示每个小部件之间的随机值。我想到了:

function widget_params( $params ) { 
    // ...
}
add_filter( \'dynamic_sidebar_params\', \'widget_params\' );
但是,它将针对每个不同的侧栏运行。有没有办法让它只在特定的侧边栏上工作?或者,是否有任何方法可以在该函数中获取当前小部件的侧栏id?

希望所有这些都有意义。

提前感谢!

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

如果要添加var_dump($params); 在回调的顶部,您会注意到它包含对侧栏名称和侧栏ID的引用。如果您知道名称或ID,您可以使用它们来控制何时运行。

function widget_params( $params ) { 
  if (\'Main Sidebar\' === $params[0][\'name\']) {
    // do something
  }
  return $params;
}
add_filter( \'dynamic_sidebar_params\', \'widget_params\' );

结束

相关推荐

Sidebar Generator issue

我希望这不会让人觉得很愚蠢(但在某种程度上是这样),但我很难处理Sidebar Generator. 在描述中指出,“现在支持具有多个侧栏的主题。”。如果我理解正确,那就意味着如果我的主题有3个预定义的小部件区域,使用这个插件,我就能够为每个页面使用不同的自定义边栏(小部件组合)填充其中的每一个,对吗?为了进一步简化,假设我注册了如下侧栏:if ( function_exists(\'register_sidebars\') ) { register_sidebars(3); }&