自定义边栏中的小部件 class

Widget class in custom sidebar

我用 WordPress 创建了一个自定义侧边栏,我想对其进行样式设置,但在这里我遇到了问题 - 我添加到其中的所有小部件都失去了原来的 class 和所有样式,也都包含在 <div> 我在函数中声明的,这没问题,但是我怎样才能让每个小部件保持它们由 WooComerce 传递的原始 classes 或给每个小部件唯一的 class ?

代码如下:

if ( function_exists('register_sidebar') ){
    register_sidebar(array(
        'name' => 'custom_sidebar',
        'before_widget' => '<div id="shop-top">',
        'after_widget' => '</div>',
        'before_title' => '',
        'after_title' => '',
));
}

您误解了 register_sidebar 的论点。为了维护每个小部件的 类,您不能将每个小部件硬编码为具有 "shop-top" 的 ID。尝试以下操作:

$args = array(
    'name'          => __( 'Custom Sidebar', 'theme_text_domain' ),
    'id'            => 'shop-top',
    'description'   => '',
        'class'         => '',
    'before_widget' => '<li id="%1$s" class="widget %2$s">',
    'after_widget'  => '</li>',
    'before_title'  => '<h2 class="widgettitle">',
    'after_title'   => '</h2>' );

register_sidebar( $args );