web-dev-qa-db-fra.com

Comment ajouter une date à la barre de navigation

J'ai créé une nouvelle barre de navigation sur ce site: http://www.tomorrowstrends.com/

J'aimerais ajouter la date à droite (sur le menu gris en dessous du bleu).

Je pensais pouvoir ajouter ceci à mon nouveau fichier php de navigation (thirdnav.php):

<?php echo '<div class="date"<div>'; date(get_option('date_format')); ?>

Donc j'aurais ceci:

<?php 
if ( has_nav_menu( 'thirdnav' ) ) {
echo '<div id="subnav"><div>';  
wp_nav_menu( array( 'sort_column' => 'menu_order', 'container_id' => 'thirdnav' , 'menu_class' => 'menu thirdnav superfish sf-js-enabled', 'theme_location' => 'thirdnav') ); 
echo '</div></div>'; 
} ?>

<?php echo '<div class="date"<div>'; date(get_option('date_format')); ?>

Mais je dois lui donner un style et je ne connais pas la syntaxe appropriée pour créer une classe pour la date dans l'instruction echo.

Comment est-ce fait? Est-ce que je le fais correctement?

Merci d'avance pour votre aide.

1
user35399

Il serait préférable d’accrocher le filtre wp_nav_menu_{$menu_name}_items et d’ajouter votre date à cet endroit:

add_action( 'init', 'wpse_106781_add_menu_items_hook' );

function wpse_106781_add_menu_items_hook() {
    $theme_location  = 'thirdnav';
    $theme_locations = get_nav_menu_locations();

    /* Make sure the theme location is valid */
    if ( ! isset( $theme_locations[ $theme_location ] ) )
        return;

    /* Get the navigation menu assigned to that theme location */
    $menu = get_term( $theme_locations[ $theme_location ], 'nav_menu' );

    /* Make sure the menu is valid */
    if ( ! isset( $menu->slug ) )
        return;

    /* Add the filter hook */
    add_filter( "wp_nav_menu_{$menu->slug}_items", 'wpse_106781_thirdnav_menu_items' );
}

function wpse_106781_thirdnav_menu_items( $items ) {
    $items .= sprintf(
        '<li class="navmenu-date"><time datetime="%s">%s</time></li>',
        date( 'Y-m-d' ),
        date( get_option( 'date_format' ) )
    );
    return $items;
};

Comme cette fonction affecte l'apparence frontale, il convient de la placer dans le fichier functions.php du thème.

Non seulement la date actuelle sera-t-elle ajoutée au menu thirdnav, mais elle utilisera également l'élément HTML5 <time> approprié pour représenter la date. Vous pouvez utiliser la fonction wp_nav_menu() dans vos modèles normalement.

Vous pouvez styler cet élément en utilisant la classe comprise entre <li class=" et "><time - dans ce cas, il s'agit de thirdnav-date, mais il peut s'agir de n'importe quelle classe HTML valide . choisir.

1
shea