是否覆盖WordPress Widget CSS类?

时间:2013-04-29 作者:AndrettiMilas

我试图在侧边栏中设置列表样式(你知道,<ul><li>) 我很好奇如何让widget也采用这个类。每个小部件似乎都有自己的类,由WordPress的默认值分配给它-有没有方法覆盖这个?

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

正如@Michael在评论中提到的,widget的CSS类依赖于侧栏,而不仅仅是widget本身。这些特定于小部件的CSS类可能很有用,但当您尝试设置每个小部件的样式时,它们就不那么有用了。

听起来您可能可以使用一个普通的元素选择器来针对侧栏中的任何内容,尽管我不清楚您到底需要什么。假设您的侧栏包装器的id为“侧栏”,您可以使用如下内容:

#sidebar li { /* styles */ }
然而,如果您没有侧栏包装器或需要一些或多或少特定的东西,这可能不起作用。这让我们回到register_sidebar(). 看看法典的默认值$args 列表:

<?php $args = array(
\'name\'          => __( \'Sidebar name\', \'theme_text_domain\' ),
\'id\'            => \'unique-sidebar-id\',
\'description\'   => \'\',
\'class\'         => \'\',
\'before_widget\' => \'<li id="%1$s" class="widget %2$s">\',
\'after_widget\'  => \'</li>\',
\'before_title\'  => \'<h2 class="widgettitle">\',
\'after_title\'   => \'</h2>\' ); ?>
重点是这一行:

\'before_widget\' => \'<li id="%1$s" class="widget %2$s">\',
注意两件事:

  1. %1$s%2$s 是WordPress生成的特定于小部件的CSS类的占位符。即使你不马上用这个,我也喜欢留着以后用

    .widget { /* styles */ }
    
    如果这是您需要的,那么您需要更改主题注册侧栏的方式,并可能使用它before_widget 法典建议的设置。如果您使用的是预构建的主题,则意味着要创建一个子主题,unregistering the sidebar, 然后用新参数重新注册它。

结束

相关推荐

在WooCommerce中使用自定义CSS设置产品详细信息页面的样式

我正在尝试在WooCommerce中使用自定义CSS设计单个产品页面。我设法在头文件和php IF语句中使用条件标记is\\u product\\u category来设置类别的样式。到目前为止,很好,我有一个名为“她”的类别,所有与该类别相关的页面都是粉红色的。但是,当我转到“她”类别中的单个产品时,它会恢复为默认CSS。我检查了一下,没有条件标记来表示单个产品。我花了几个小时研究和阅读所有我能找到的东西,但我找不到解决办法。我需要产品页面具有与父类别相同的样式。有没有想过我该如何做到这一点?非常感谢