Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
09/23/2009 03:50:34 AM (17 years ago)
Author:
apeatling
Message:

Fixes #1061, #987

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/bp-core/bp-core-templatetags.php

    r1925 r1939  
    15861586        echo bp_get_the_body_class();
    15871587}
    1588         function bp_get_the_body_class( $wp_classes ) {
    1589                 if ( bp_is_blog_page() || bp_is_activation_page() || bp_is_register_page() )
     1588        function bp_get_the_body_class( $wp_classes, $custom_classes ) {
     1589                global $bp;
     1590
     1591                if ( $bp->current_component != BP_HOME_BLOG_SLUG && !bp_is_register_page() && !bp_is_activation_page() && !bp_is_directory() && bp_is_blog_page() )
     1592                        $bp_classes[] = 'home-page';
     1593               
     1594                if ( ( $bp->current_component == BP_HOME_BLOG_SLUG || bp_is_activation_page() || bp_is_register_page() ) )
    15901595                        $bp_classes[] = 'blog-page';
    15911596                       
    1592                 if ( !bp_is_blog_page() && !is_home() && !bp_is_register_page() && !bp_is_activation_page() )
     1597                if ( !bp_is_blog_page() && !bp_is_register_page() && !bp_is_activation_page() )
    15931598                        $bp_classes[] = 'internal-page';
    1594                
    1595                 if ( bp_is_blog_page() && is_home() )
    1596                         $bp_classes[] = 'home-page';
    15971599               
    15981600                if ( bp_is_directory() )
     
    16971699                if ( bp_is_activation_page() )
    16981700                        $bp_classes[] = 'activation';
    1699                        
    1700                 if ( is_single() )
    1701                         $bp_classes[] = 'blog-single';
    1702 
    1703                 if ( is_category() )
    1704                         $bp_classes[] = 'blog-category';
    1705 
    1706                 if ( is_tag() )
    1707                         $bp_classes[] = 'blog-tag';
    1708                        
    1709                 if ( is_search() )
    1710                         $bp_classes[] = 'blog-search';
    1711 
    1712                 if ( is_day() )
    1713                         $bp_classes[] = 'blog-day';
    1714 
    1715                 if ( is_month() )
    1716                         $bp_classes[] = 'blog-month';
    1717 
    1718                 if ( is_year() )               
    1719                         $bp_classes[] = 'blog-year';
     1701
     1702                /* Add the current_component, current_action into the bp classes */
     1703                if ( !bp_is_blog_page() ) {
     1704                        if ( !empty( $bp->current_component ) )
     1705                                $bp_classes[] = $bp->current_component;
     1706               
     1707                        if ( !empty( $bp->current_action ) )
     1708                                $bp_classes[] = $bp->current_action;
     1709                }
    17201710               
    17211711                /* We don't want WordPress blog classes to appear on non-blog pages. */
    1722                 if ( !bp_is_blog_page() )
    1723                         $wp_classes = array();
    1724                
    1725                 return apply_filters( 'bp_get_the_body_class', array_merge( (array) $bp_classes, (array) $wp_classes ), $bp_classes, $wp_classes );
    1726         }
    1727         add_filter( 'body_class', 'bp_get_the_body_class' )
     1712                if ( !bp_is_blog_page() || is_home() ) {
     1713                        /* Preserve any custom classes already set */
     1714                        if ( !empty( $custom_classes ) )
     1715                                $wp_classes = (array) $custom_classes;
     1716                        else
     1717                                $wp_classes = array();
     1718                }
     1719 
     1720                /* Merge WP classes with BP classes */
     1721                $classes = array_merge( (array) $bp_classes, (array) $wp_classes );
     1722               
     1723                /* Remove any duplicates */
     1724                $classes = array_unique( $classes );
     1725               
     1726                return apply_filters( 'bp_get_the_body_class', $classes, $bp_classes, $wp_classes, $custom_classes );
     1727        }
     1728        add_filter( 'body_class', 'bp_get_the_body_class', 10, 2 )
    17281729
    17291730
Note: See TracChangeset for help on using the changeset viewer.