WordPress: aggiungere un ID specifico all'elemento body

WordPress: aggiungere un ID specifico all'elemento body

WordPress non aggiunge un ID alle sue sezioni ma solo classi. La soluzione in questo caso è semplice.

Possiamo definire la seguente funzione di utility:


if( !function_exists( 'my_body_id' ) ) {
    
    function my_body_id() {
        
        global $post;
        global $wp_query;
        $post_id = $post->ID;
        $id = '';
        
        if( is_home() || is_front_page() ) {
            
            $id = 'home';
            
        }
        
        if( is_single() ) {
            
            $id = 'post-' . $post_id;
            
        }
        
        if( is_page() ) {
            
            $id = 'page-' . $post_id;
            
        }
        
        if( is_paged() ) {
        
            $current_page = $wp_query->query_vars['paged'];
            
            if( $current_page > 0 ) {
            
                $id = 'paged-' . $current_page;
            
            }
        
        }
        
        if( is_category() || is_archive() ) {
            
            $cat_name = get_query_var( 'category_name' );
            
            if( !empty( $cat_name ) ) {
                
                $id = 'category-' . $cat_name;
                
            } else {
                
                $id = 'archive';
                
                
            }
            
            
            
            
        }
        
        
        
        
        if( is_tag() ) {
            
            $id = 'tag-' . get_query_var( 'tag' );
            
        }
        
        if( is_404() ) {
            
            $id = 'error404';
            
        }
        
        echo ' id="'. $id .'" ';
    }
    
}

Esempio d'uso:


<body<?php my_body_id();?>></body>

Torna su