Switch language

wpseek.com
A WordPress-centric search engine for devs and theme authors




get_body_class [ WordPress Function ]

get_body_class ( $class = '' )
Parameters:
  • (string|array) $class One or more classes to add to the class list.
Returns:
  • (array) Array of classes.
Defined at:



Retrieve the classes for the body element as an array.

Source


<?php
function get_body_class$class '' ) {
    global 
$wp_query$wpdb;

    
$classes = array();

    if ( 
is_rtl() )
        
$classes[] = 'rtl';

    if ( 
is_front_page() )
        
$classes[] = 'home';
    if ( 
is_home() )
        
$classes[] = 'blog';
    if ( 
is_archive() )
        
$classes[] = 'archive';
    if ( 
is_date() )
        
$classes[] = 'date';
    if ( 
is_search() ) {
        
$classes[] = 'search';
        
$classes[] = $wp_query->posts 'search-results' 'search-no-results';
    }
    if ( 
is_paged() )
        
$classes[] = 'paged';
    if ( 
is_attachment() )
        
$classes[] = 'attachment';
    if ( 
is_404() )
        
$classes[] = 'error404';

    if ( 
is_single() ) {
        
$post_id $wp_query->get_queried_object_id();
        
$post $wp_query->get_queried_object();

        
$classes[] = 'single';
        
$classes[] = 'single-' sanitize_html_class($post->post_type$post_id);
        
$classes[] = 'postid-' $post_id;

        
// Post Format
        
if ( post_type_supports$post->post_type'post-formats' ) ) {
            
$post_format get_post_format$post->ID );

            if ( 
$post_format && !is_wp_error($post_format) )
                
$classes[] = 'single-format-' sanitize_html_class$post_format );
            else
                
$classes[] = 'single-format-standard';
        }

        if ( 
is_attachment() ) {
            
$mime_type get_post_mime_type($post_id);
            
$mime_prefix = array( 'application/''image/''text/''audio/''video/''music/' );
            
$classes[] = 'attachmentid-' $post_id;
            
$classes[] = 'attachment-' str_replace$mime_prefix''$mime_type );
        }
    } elseif ( 
is_archive() ) {
        if ( 
is_post_type_archive() ) {
            
$classes[] = 'post-type-archive';
            
$classes[] = 'post-type-archive-' sanitize_html_classget_query_var'post_type' ) );
        } else if ( 
is_author() ) {
            
$author $wp_query->get_queried_object();
            
$classes[] = 'author';
            
$classes[] = 'author-' sanitize_html_class$author->user_nicename $author->ID );
            
$classes[] = 'author-' $author->ID;
        } elseif ( 
is_category() ) {
            
$cat $wp_query->get_queried_object();
            
$classes[] = 'category';
            
$classes[] = 'category-' sanitize_html_class$cat->slug$cat->term_id );
            
$classes[] = 'category-' $cat->term_id;
        } elseif ( 
is_tag() ) {
            
$tags $wp_query->get_queried_object();
            
$classes[] = 'tag';
            
$classes[] = 'tag-' sanitize_html_class$tags->slug$tags->term_id );
            
$classes[] = 'tag-' $tags->term_id;
        } elseif ( 
is_tax() ) {
            
$term $wp_query->get_queried_object();
            
$classes[] = 'tax-' sanitize_html_class$term->taxonomy );
            
$classes[] = 'term-' sanitize_html_class$term->slug$term->term_id );
            
$classes[] = 'term-' $term->term_id;
        }
    } elseif ( 
is_page() ) {
        
$classes[] = 'page';

        
$page_id $wp_query->get_queried_object_id();

        
$post get_page($page_id);

        
$classes[] = 'page-id-' $page_id;

        if ( 
$wpdb->get_var$wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE post_parent = %d AND post_type = 'page' AND post_status = 'publish' LIMIT 1"$page_id) ) )
            
$classes[] = 'page-parent';

        if ( 
$post->post_parent ) {
            
$classes[] = 'page-child';
            
$classes[] = 'parent-pageid-' $post->post_parent;
        }
        if ( 
is_page_template() ) {
            
$classes[] = 'page-template';
            
$classes[] = 'page-template-' sanitize_html_classstr_replace'.''-'get_page_template_slug$page_id ) ) );
        } else {
            
$classes[] = 'page-template-default';
        }
    }

    if ( 
is_user_logged_in() )
        
$classes[] = 'logged-in';

    if ( 
is_admin_bar_showing() )
        
$classes[] = 'admin-bar';

    if ( 
get_background_image() || get_background_color() )
        
$classes[] = 'custom-background';

    
$page $wp_query->get'page' );

    if ( !
$page || $page 2)
        
$page $wp_query->get'paged' );

    if ( 
$page && $page ) {
        
$classes[] = 'paged-' $page;

        if ( 
is_single() )
            
$classes[] = 'single-paged-' $page;
        elseif ( 
is_page() )
            
$classes[] = 'page-paged-' $page;
        elseif ( 
is_category() )
            
$classes[] = 'category-paged-' $page;
        elseif ( 
is_tag() )
            
$classes[] = 'tag-paged-' $page;
        elseif ( 
is_date() )
            
$classes[] = 'date-paged-' $page;
        elseif ( 
is_author() )
            
$classes[] = 'author-paged-' $page;
        elseif ( 
is_search() )
            
$classes[] = 'search-paged-' $page;
        elseif ( 
is_post_type_archive() )
            
$classes[] = 'post-type-paged-' $page;
    }

    if ( ! empty( 
$class ) ) {
        if ( !
is_array$class ) )
            
$class preg_split'#\s+#'$class );
        
$classes array_merge$classes$class );
    } else {
        
// Ensure that we always coerce class to being an array.
        
$class = array();
    }

    
$classes array_map'esc_attr'$classes );

    return 
apply_filters'body_class'$classes$class );
}
?>

Examples [ wp-snippets.com ]

Top Google zoekresultaten

Meer ...

Gebruikersdiscussies [ wordpress.org ]

0 User Note(s)

Nog geen één. Wees de eerste!

Nieuw toevoegen ...



HTML5 Powered with CSS3 / Styling, Performance & Integration, and Semantics