我正在开发一个主题,它有超过5个不同的侧边栏,我想将一个函数应用于其中一个特定的主题以用于样式目的。基本上,该函数将使用计数器修改它的参数,以在每个小部件之间显示随机。我提出了这个问题:
function widget_params( $params ) {
// ...
}
add_filter( 'dynamic_sidebar_params', 'widget_params' );
但是,它会针对每个不同的侧边栏运行。有没有办法让它只在特定的侧边栏上工作?或者,有没有办法在该函数内部获取当前窗口小部件的侧边栏ID?
希望所有这一切都有意义。
提前致谢!
答案 0 :(得分:0)
我建议您创建一个自定义挂钩并将其放在相应的侧边栏模板中。 See do_action for more information.使用侧栏模板中的以下行:
<?php do_action('custom_sidebar_action', 9999); //Replace X with the sidebar ID parameter you want to pass to the function. ?>
然后,在你的函数中,修改你的代码就像下面这样(只是从内存编码,所以可能需要一些事情):
function my_widget_function( $sidebar_id ) {
// ...
}
add_action('custom_sidebar_action', 'my_widget_function', 10, 1);
使用这种方法,我猜你可以在不传递侧边栏ID的情况下离开,所以更干净的功能看起来像这样:
<?php do_action('custom_sidebar_action'); ?>
然后:
function my_widget_function() {
// ...
}
add_action('custom_sidebar_action', 'my_widget_function');