如何将页面名称称为导航链接或导航标题?

时间:2013-01-03 作者:Claire

我基本上只需要能够显示波兰语翻译菜单或英语菜单。我能想到的最好办法是:

if($languageCookie==\'polish\'){
  wp_nav_menu(use the navigation label rather than the page title)
}else{
  wp_nav_menu(use the page title rather than the navigation label)
}
这是因为在每个菜单项的外观>菜单中,您还可以选择具有导航标签和标题标签。

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

我发现答案是在我的帮助下创造我自己的步行者this 文章

就是这样。最重要的部分是检查$language 值(从cookie中获取),并指定$item->title$item->description.

    class description_walker extends Walker_Nav_Menu
{
      function start_el(&$output, $item, $depth, $args)
      {
        global $language;
           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        ) .\'"\' : \'\';

           $prepend = \'<strong>\';
           $append = \'</strong>\';


            $item_output = $args->before;
            $item_output .= \'<a\'. $attributes .\'>\';
          if($language=="polish"){
               $item_output .= $args->link_before .$prepend.apply_filters( \'the_title\', $item->description, $item->ID ).$append;
           }else{
            $item_output .= $args->link_before .$prepend.apply_filters( \'the_title\', $item->title, $item->ID ).$append;
           }


            $item_output .= \'</a>\';
            $item_output .= $args->after;

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

结束

相关推荐

WooCommerce dynamic menus

我有一个基本的WordPress网站,设置了Suffusion主题和WooCommerce插件。这在大多数情况下都很有效,但是当我让人们点击/悬停在“Shop”菜单图标上时,我希望它能够动态地下拉我定义的产品类别。我如何做到这一点?我肯定有关于这个主题的文档,但我不确定要查找什么。我主要是一名系统管理员。