web-dev-qa-db-ja.com

メニューにメタデータを追加する

私はこの問題に遭遇しました私が世界で最も簡単なものの1つであると思ったものに似ています、私はメニューに字幕を同様に加えたいと思いました http://img4.imageshack.us/img4/7816/unled10b.png 。それから私はメニューがそれ自身のカスタムテンプレートファイルを持っていないことに気づくようになったので、ページのメタデータを命名されたmenudescをロードすることに関する私の計画は計画通りに行きませんでした。私は少し読み直して、メニューコードがpost-template.php aにコピーされていることを知り、それを私の関数ファイルにコピーしましたが、それもうまくいきませんでした。私はwp_page_menuを貼り付けたときにサイトが空白になるエラーも何もしない、そして私はget_post_meta($ page-> ID、 'menudesc'を使うことができるので私はこの関数内のページのIPを取得する方法を得ない)本当);

    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;
}

それがメニューのコードです

3
Breezer
3
Michael