web-dev-qa-db-fra.com

Ajouter des métadonnées au menu

J'ai rencontré ce problème que je croyais être l’une des choses les plus simples au monde, je voulais ajouter un sous-titre au menu quelque chose de semblable/ http://img4.imageshack.us/img4/7816/unled10b.png . Ensuite, je me suis rendu compte que le menu n'avait pas son propre fichier de modèle personnalisé. Mon plan de chargement des métadonnées de la page, menudesc, ne s'est donc pas déroulé comme prévu. J'ai lu autour de alittle et ai découvert que le code de menu se trouve dans post-template.php et copié dans mon fichier de fonction, mais cela n'a pas fonctionné non plus. quand je colle wp_page_menu le site va blanc aucune erreur ni rien, et d'ailleurs je ne comprends pas comment obtenir l'adresse IP de la page à l'intérieur de cette fonction pour pouvoir utiliser get_post_meta ($ page-> ID, 'menudesc', vrai);

    function wp_page_menu( $args = array() ) {
    $defaults = array('sort_column' => 'menu_order, post_title', 'menu_class' => 'menu', 'echo' => true, 'link_before' => '', 'link_after' => '');
    $args = wp_parse_args( $args, $defaults );
    $args = apply_filters( 'wp_page_menu_args', $args );

    $menu = '';

    $list_args = $args;

    // Show Home in the menu
    if ( ! empty($args['show_home']) ) {
        if ( true === $args['show_home'] || '1' === $args['show_home'] || 1 === $args['show_home'] )
            $text = __('Home');
        else
            $text = $args['show_home'];
        $class = '';
        if ( is_front_page() && !is_paged() )
            $class = 'class="current_page_item"';
        $menu .= '<li ' . $class . '><a href="' . home_url( '/' ) . '" title="' . esc_attr($text) . '">' . $args['link_before'] . $text . $args['link_after'] . '</a></li>';
        // If the front page is a page, add it to the exclude list
        if (get_option('show_on_front') == 'page') {
            if ( !empty( $list_args['exclude'] ) ) {
                $list_args['exclude'] .= ',';
            } else {
                $list_args['exclude'] = '';
            }
            $list_args['exclude'] .= get_option('page_on_front');
        }
    }

    $list_args['echo'] = false;
    $list_args['title_li'] = '';
    $menu .= str_replace( array( "\r", "\n", "\t" ), '', wp_list_pages($list_args) );

    if ( $menu )
        $menu = '<ul>' . $menu . '</ul>';

    $menu = '<div class="' . esc_attr($args['menu_class']) . '">' . $menu . "</div>\n";
    $menu = apply_filters( 'wp_page_menu', $menu, $args );
    if ( $args['echo'] )
        echo $menu;
    else
        return $menu;
}

c'est le code pour le menu

3
Breezer
3
Michael