yi88250565 发表于 2013-11-6 18:27:38

求wordpress导航菜单输出标题显示描述的方法

求高手帮我分析一些代码
functions.php中的代码

/*-----------------------------------------------------------------------------------*/
/*        Load Menu Description
/*-----------------------------------------------------------------------------------*/
class mts_Walker extends Walker_Nav_Menu
{
        function start_el(&$output, $item, $depth, $args) {
                global $wp_query;
                $indent = ( $depth ) ? str_repeat( "\t", $depth ) : '';

                $class_names = $value = '';

                $classes = empty( $item->classes ) ? array() : (array) $item->classes;

                $class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item ) );
                $class_names = ' class="' . esc_attr( $class_names ) . '"';

                $output .= $indent . '<li id="menu-item-'. $item->ID . '"' . $value . $class_names .'>';

                $attributes= ! empty( $item->attr_title ) ? ' title="'. esc_attr( $item->attr_title ) .'"' : '';
                $attributes .= ! empty( $item->target )   ? ' target="' . esc_attr( $item->target   ) .'"' : '';
                $attributes .= ! empty( $item->xfn )      ? ' rel="'    . esc_attr( $item->xfn      ) .'"' : '';
                $attributes .= ! empty( $item->url )      ? ' href="'   . esc_attr( $item->url      ) .'"' : '';

                $item_output = $args->before;
                $item_output .= '<a'. $attributes .'>';
                $item_output .= $args->link_before . apply_filters( 'the_title', $item->title, $item->ID ) . $args->link_after;
                $item_output .= '<br /><span class="sub">' . $item->description . '</span>';
                $item_output .= '</a>';
                $item_output .= $args->after;

                $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args );
        }
}

/*-----------------------------------------------------------------------------------*/

导航菜单代码:

<?php if ( has_nav_menu( 'primary-menu' ) ) { ?>
<?php $walker = new mts_Walker; wp_nav_menu( array( 'theme_location' => 'primary-menu', 'menu_class' => 'menu', 'container' => '', 'walker' => $walker ) ); ?>
<?php } else { ?>
......
为什么导航菜单输出的标题还是不带描述呢?


像下面截图的这种形式



求高手解答,谢谢!

luguokankan 发表于 2013-11-6 19:27:13

$item_output .= '<br /><span class="sub">' . $item->description . '</span>';

这个description?

你menu的description 有写吗?编辑menu页面的右上角有个screen options, description勾上

p.s. 我对主题这块不是很懂...

yi88250565 发表于 2013-11-6 19:39:24

luguokankan 发表于 2013-11-6 19:27 static/image/common/back.gif
$item_output .= '' . $item->description . '';

这个description?


果然如你所说,没勾选图像描述
问题解决了,谢谢!!!

页: [1]
查看完整版本: 求wordpress导航菜单输出标题显示描述的方法