6 header.php

Analizziamo un possibile header.php, alcuni elementi sono tipici di un tag <head> HTML, altri sono esclusivi di wordpress :

<!DOCTYPE HTML>
<html <?php language_attributes(); ?>>
<head>

Il tag  PHP language_attributes(), è una funzione che genera gli attributi specifici per la lingua del sito

<meta charset="<?php bloginfo( 'charset' ); ?>"/>
<title><?php wp_title( '|', true, 'right' );
//aggiunge il nome del blog
bloginfo( 'name' );
?></title>

Del template tag bloginfo() si è già detto precedentemente: qui il parametro charset fornisce la codifica.

wp_title(‘$sep’,’$display’,’$seplocation’) restituisce il titolo del blog, i parametri sono: il separatore, display che se true lo visualizza se false lo recupera e la posizione del separatore (destra o sinistra)

bloginfo() restituisce molte informazioni settate nella sezione generale di wordpress. Accetta diversi parametri vedere il codex.

 <link rel="profile" href="http://gmpg.org/xfn/11"/>
    <link rel="stylesheet" type="text/css" media="all" href="
    <?php bloginfo( 'stylesheet_url' ); ?>"/>
    <link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>"/>
    <!-- Fix for Internet Explorer prior to version 9 by Remy Sharp http://remysharp.com/2009/01/07/html5-enabling-script/ -->
    <!--[if lt IE 9]>
    <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
   <?php
   
   wp_head();
   ?>
</head>

Chiudiamo il nostro <head> con alcuni dei classici tag HTM . wp_head() deve sempre trovarsi appena sopra il tag di chiusura head. Lo script richiama un js esterno per controllare la versione di Internet explorer. Per il momento lo includiamo così anche se sarebbe maggiormente corretto includerlo diversamente tramite il function.php. Passiamo alla parte <body> dell’header.php:

<body <?php body_class(); ?>>

<div id=”outer-wrap”>
<div id=”inner-wrap”>

<header id=”header-container”>
<div class=”hgroup”>
<?php if ( is_home() || is_front_page() ) { ?>
<h1 id=”site-title”>
<a href=”<?php echo home_url(); ?>”
title=”<?php bloginfo( ‘name’ ); ?>”>
<?php bloginfo( ‘name’ ); ?>
</a>
</h1>
<h2 id=”site-description”>
<?php bloginfo( ‘description’ ); ?>
</h2>
<?php } else { ?>
<div id=”site-title”>
<a href=”<?php echo home_url(); ?>” title=”<?php bloginfo( ‘name’ ); ?>”>
<?php bloginfo( ‘name’ ); ?>
</a>
</div>
<div id=”site-description”>
<?php bloginfo( ‘description’ ); ?>
</div>
<?php } ?>
</div>

body_class() fornisce le classi del foglio di stile per il tag body. Si può usare anche per altre sezioni del blog permettendo diverse personalizzazioni di stile differenziate.

home_url()  restituisce il percorso del sito dove è impostata la home page

<nav>
 <?php
 //menu di navigazione superiore
 wp_nav_menu( array( 'theme_location' => 'top-navigation' )
 ); ?>
 </nav>
 </header> <!-- #header-container ends -->

Quest’ultima parte,che chiude anche l'<header>  è riferita al menu di navigazione. Il template tag responsabile è wp_nav_menu() che in questo caso richiama l’array con le chiavi per la posizione del menu, ma perché funzioni, dovrete aggiungere un supporto specifico in functions.php che non vediamo ora.