如何更改小部件标题的默认类?

时间:2014-04-22 作者:idejuan

我想更改小部件标题的默认类。目前是h2,我希望是h3。我已经看到了定制css的选项,以便h2看起来像h3。

#sidebar h2 {
font-size: 24px;
}
但是,如果我稍后修改h3,这可能会导致问题,h2将不会遵循这些更改。

我也看到了这个讨论How to add class on Widget Title 关于如何创建注册新小部件。

但我想将其应用到默认小部件,而不是注册一个新的小部件。。。

谢谢你的帮助

2 个回复
SO网友:gmazzap

h2h3 不是html类,而是html tags.

也就是说,不存在小部件的默认html标记,因为用于输出小部件标题的格式已设置when the sidebar is registered (查看“before\\u title”参数)。

所以标题是如何显示的theme related and sidebar related, 不依赖于小部件。

更改主题用于小部件标题的html标记的简单方法是使用\'dynamic_sidebar_before\' 钩子(在显示侧边栏之前激发)和全局$wp_registered_sidebars 变量来更改显示的边栏上的“before\\u title”参数,这是由于钩子传递了边栏id:

add_action( \'dynamic_sidebar_before\', \'widget_title_h2_h3\' );

function widget_title_h2_h3( $sidebar_id ) {
 global $wp_registered_sidebars;
 if ( isset( $wp_registered_sidebars[$sidebar_id] ) ) {
    if ( isset($wp_registered_sidebars[$sidebar_id][\'before_title\']) ) {
      $now = $wp_registered_sidebars[$sidebar_id][\'before_title\'];
      $h3 = str_ireplace( \'<h2\', \'<h3\', $now );
      $wp_registered_sidebars[$sidebar_id][\'before_title\'] = $h3;
    }
 }
}
但是,这会将所有侧栏中的h2更改为h3(至少是小部件标题中有h2的所有侧栏)。

要将代码应用于特定侧栏,请在外部中添加条件if 应该是这样的:

if ( $sidebar_id === \'sidebar-id\' && isset( $wp_registered_sidebars[$sidebar_id] ) ) {

SO网友:johnh10

默认情况下,WordPress侧栏使用H2标记。要将这些更改为使用H3标记,请将其添加到函数中。php文件:

if ( function_exists(\'register_sidebar\') )
 register_sidebar(array(\'name\'=>\'Sidebar\',\'before_title\'=>\'<h3>\',\'after_title\'=>\'</h3>\'));

结束

相关推荐

更新后,外观>编辑CSS中的自定义CSS丢失

我为一个WordPress网站编写了一些CSS自定义样式,但它已经失去了自定义样式。我之前在管理仪表板的外观>编辑CSS部分编写了自定义CSS。但现在,该菜单项已从外观菜单中删除。而且该网站不再对其样式进行这些自定义。这发生在网站所有者“在其托管提供商因脚本问题关闭网站后重新启动网站”之后。我注意到该网站也已从3.6更新到WordPress的最新版本3.8.1。我能找到的最接近外观>编辑CSS的选项是外观>编辑器,它也可以编辑CSS,但只能编辑主题的整个CSS。我不想把我的CSS放在那里