Search code examples
wordpressscrollspyaffix

Wordpress: How to add Attribute to body


I want to add Scrollspy support to the nav-menu, for that I have to add extra attributes data-spy="scroll" data-target=".navbar" to the body tag.

Can I do that pragmatically without touching theme files?


Solution

  • One way would be to:- Edit header.php And add those attributes to the body.

    Alternative (without editing theme files) way would be to create a plugin which adds a js that adds those attributes to body. Something like this:-

    $("body").attr( { data-spy:"scroll", data-target:".navbar" } );
    

    EDIT After viewing Sevi's answers. The most suitable way is

    function wp_body_classes( $classes )
    {
        $classes[] = '" spy="scroll" data-target=".navbar';
    
        return $classes;
    }
    add_filter( 'body_class','wp_body_classes', 999 );