动态侧栏的一般概念基本上是WP循环通过全局$wp_registered_widgets
并根据其参数构建小部件。您可以轻松拦截它们:
使用过滤器dynamic_sidebar_params
要将类添加到目标特定的小部件,请执行以下操作:
// SHOW the params for better insights
function wpse44903_dump_sidebar_params( $params )
{
echo \'<pre>\';
print_r( $params );
echo \'</pre>\';
return $params;
}
add_filter( \'dynamic_sidebar_params\', \'wpse44903_dump_sidebar_params\' );
然后,您可以简单地更改您需要的任何内容(取决于您的情况):
// ALTER the params to your needs
function wpse44903_alter_sidebar_params( $params )
{
// remove trailing and leading white space and use only lower case characters to be on the save side of things
if ( \'YOUR WIDGET NAME\' === trim( strtolower( $params[0][\'widget_name\'] ) ) )
{
// do whatever you need to do.
// @example:
foreach ( $wp_registered_widgets as $widget )
if ( in_array( $params[0][\'widget_name\'], $widget ) )
print_r( $widget );
}
return $params;
}
add_filter( \'dynamic_sidebar_params\', \'wpse44903_alter_sidebar_params\' );
注意:这没有经过测试,可能需要一些bug修复。一定要转身
WP_DEBUG
到
TRUE
在wp配置中。php文件。