Add meta data to the menu

时间:2011-09-30 作者:Breezer

我遇到了这个问题,我认为这是世界上最简单的事情之一,我想在菜单上添加一个类似的字幕http://img4.imageshack.us/img4/7816/unled10b.png . 然后我意识到菜单没有自己的自定义模板文件,所以我加载页面元数据namned menudesc的计划没有按计划进行。我仔细阅读了一些内容,发现菜单代码是在post模板中找到的。php a将其复制到我的函数文件中,但也没有成功。当我粘贴wp\\u page\\u菜单时,网站会变白,没有错误,什么都没有,而且我不知道如何在这个函数中获取页面的ip,所以我可以使用get\\u post\\u meta($page->ID,\'menudesc\',true);

    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;
}
这是菜单的代码

1 个回复
最合适的回答,由SO网友:Michael 整理而成
结束