将类添加到Wordpress侧栏导航列表

时间:2017-04-13 12:21:42

标签: html css wordpress widget wordpress-theming

我只是想知道是否有办法将类添加到子页面,类别,档案,元等任何导航列表中?

我无法在我的模板中的任何位置找到添加课程的内容,因为我猜它会全部自动生成?

我的父主题(html5blank)有一段代码(如下所示),但我认为它是针对侧边栏中的所有列表......

if (function_exists('register_sidebar'))
{
    // Define Sidebar Widget Area 1
    register_sidebar(array(
        'name' => __('Widget Area 1', 'html5blank'),
        'description' => __('Description for this widget-area...', 'html5blank'),
        'id' => 'widget-area-1',
        'before_widget' => '<div id="%1$s" class="%2$s">',
        'after_widget' => '</div>',
        'before_title' => '<h3>',
        'after_title' => '</h3>'
    ));

    // Define Sidebar Widget Area 2
    register_sidebar(array(
        'name' => __('Widget Area 2', 'html5blank'),
        'description' => __('Description for this widget-area...', 'html5blank'),
        'id' => 'widget-area-2',
        'before_widget' => '<div id="%1$s" class="%2$s">',
        'after_widget' => '</div>',
        'before_title' => '<h3>',
        'after_title' => '</h3>'
    ));
}

我意识到我可以通过修改before_widget行来为父div添加一个类来读取类似的内容:

'before_widget' => '<div id="%1$s" class="%2$s CUSTOM-CLASS-HERE">',

这确实增加了一个课程,但我仍然会将它添加到添加到侧边栏的任何和每个小部件中?

据推测,这意味着任何包含ul的窗口小部件都会继承应用于该类的样式,这会破坏窗口小部件的外观吗?

希望有人可以帮助解决这个问题:)

2 个答案:

答案 0 :(得分:1)

您可以从WP Dashboard向菜单项(或菜单)添加类。

  • 外观&gt;菜单&gt;屏幕选项
  • 显示高级&gt; CSS类
  • 单击任何菜单项以展开和添加类。

在CSS中,您始终可以为具有特定小部件区域的特定idclass的类添加前缀,以仅在特定侧边栏/小部件区域中应用样式。

如果您需要以编程方式为所有菜单项添加一个类,请使用 nav_menu_link_attributes挂钩:

function add_your_menu_classes( $atts, $item, $args ) {
  if( /* condition based on $args or $item (WP_Post object)
       * (in case you only want this when a particular condition
       * is met). If not, just remove the condition */ ) {
    $atts['class'] = 'some-class';
  }
  return $atts;
}
add_filter( 'nav_menu_link_attributes', 'add_your_menu_classes', 10, 3 );

答案 1 :(得分:0)

我认为如果你的小部件,显示一种导航你必须使用自定义的NavWalker来修改链接类

https://github.com/wp-bootstrap/wp-bootstrap-navwalker