如何在模板Wordpress中插入标题属性

问题描述 投票:0回答:2

我的wordpress模板不显示菜单的title属性(但是如果我更改模板就可以了),我该如何解决呢?网站www.imsdesign.eu

wordpress menu
2个回答
0
投票

我假设您通过执行以下步骤将标题属性添加到了菜单:

  1. 从WordPress仪表板,转到“菜单”页面(外观>菜单)
  2. 从菜单列表中选择要编辑的菜单。
  3. 单击菜单项标题右侧的配置箭头,单击后会打开配置框。
  4. 单击页面顶部的“屏幕选项”以显示其他高级菜单属性。
  5. 通过选择“标题属性”框激活“标题属性”选项以立即显示菜单项下的设置框。
  6. 在导航标签选项正下方的文本框中添加标题属性。

如果仍然无法使用,则表示您的WP主题没有标题属性。要对其进行更改,请找到正确的WP模板(可能是header.php),并使用方法the_title_attribute()

将标题属性添加到导航元素中

0
投票

FastwpAltiusMenu类{

private static $nav_template = '';
private static $nav_overlay = '';

function __construct() {
    global $fastwp_altius_data, $fastwp_altius_menu_type;

    $templates      = array();
    $templates[1]   = array( 'nav' => 'fastwp-menu-default', 'overlay' => '' );
    $templates[2]   = array( 'nav' => 'fastwp-menu-overlay', 'overlay' => 'fastwp-menu-overlay2' );

    if( is_page() ) {
        $fastwp_altius_meta_type = get_post_meta( get_the_ID(), 'p_nav_style', true );
        if( $fastwp_altius_meta_type == 1 || $fastwp_altius_meta_type == 2 ) {
            $fastwp_altius_data['nav_style'] = $fastwp_altius_meta_type;
        }
    }

    $menu = !empty( $fastwp_altius_data['nav_style'] ) && in_array( (int) $fastwp_altius_data['nav_style'], array_keys( $templates ) ) ? (int) $fastwp_altius_data['nav_style'] : 1;

    $fastwp_altius_menu_type= $menu;
    self::$nav_template     = $templates[$menu]['nav'];
    self::$nav_overlay      = $templates[$menu]['overlay'];
}

public static function nav( $echo = true ) {
    if( (boolean) $echo ) {
        echo get_template_part( 'fastwp/menu/' . self::$nav_template );
    }
    ob_start();
    get_template_part( 'fastwp/menu/' . self::$nav_template );
    $content = ob_get_contents();
    ob_end_clean();

    return $content;
}

public static function overlay( $echo = true ) {
    $nav_overlay = self::$nav_overlay;
    if( !empty( $nav_overlay ) ) {
        if( (boolean) $echo ) {
            echo get_template_part( 'fastwp/menu/' . $nav_overlay );
        }
        ob_start();
        get_template_part( 'fastwp/menu/' . $nav_overlay );
        $content = ob_get_contents();
        ob_end_clean();

        return $content;
    }
}

}

FastwpAltiusWalker类{

var $one_page = false;

function __construct( $menu_id, $menu = 0 ) {
    $this->override_menu = $menu;
    $elements = $this->nice_elements( $menu_id );
    $this->main_elements = isset( $elements['main'] ) ? $elements['main'] : array();
    $this->subnav_elements = isset( $elements['subnav'] ) ? $elements['subnav'] : array();
}

function set_onePage() {
    $this->one_page = true;
}

function add_one_page_section( $item ) {
    if( $this->one_page ) {
        global $fastwp_altius_one_page_sections;
        if( $item->object == 'page' ) {
            if( empty( $fastwp_altius_one_page_sections ) ) $fastwp_altius_one_page_sections = array();
            $section_name = preg_replace( '/[^a-z0-9_]/i', '', str_replace( ' ', '_', $item->title ) );
            if( in_array( $section_name, array_keys( $fastwp_altius_one_page_sections ) ) ) {
                $section_name = $section_name . '_' . $item->ID;
            }
            $fastwp_altius_one_page_sections[$section_name] = $item->object_id;
            return '#section-' . $section_name;
        }
    }

    return $item->url;
}

function get_menu() {

    $output = '';

    if( !empty( $this->main_elements ) ) {

    /* Add Visual Composer meta */
    global $fastwp_altius_one_page_css_vc;
    $fastwp_altius_one_page_css_vc = array();

    foreach( $this->main_elements as $item ) {

        $item = $item[0];

        $typeparent = get_post_meta( $item->ID, '_menu_item_menutype', true );

        /* Add Visual Composer meta */
        if( isset( $item->object_id ) ) {
            $fastwp_altius_one_page_css_vc[$item->object_id] = get_post_meta( $item->object_id, '_wpb_shortcodes_custom_css', true );
        }

        $a_classes = $li_classes = $a_atts = $li_atts = array();

        if( get_the_ID() == $item->object_id ) {
            $li_classes[] = 'current';
        }

        if( isset( $item->hasChildren ) && $item->hasChildren ) {
            $a_classes[] = 'sf-with-ul';
        }

        if( isset( $this->subnav_elements[$item->ID] ) ) {
            $li_classes[] = 'parentMenuItem';
        }

        if( !empty( $item->classes ) ) {
            $a_classes[] = implode( ' ', $item->classes );
        }

        $childrens = '';

        if( $typeparent == 'mega2' ) {

            $li_classes[] = 'dropDown megaMenu';

            $items_array = $this->levels_recursive_array( $item->ID );
            unset( $items_array['subnav'] );

            $items_per_col = ceil( count( $items_array ) / 2 );

            $col1_items = $col2_items = '';

            foreach( $items_array as $k => $mitem ) {
                $typechild = get_post_meta( $mitem->ID, '_menu_item_menutype2', true );
                if( $k >= $items_per_col ) {
                    $col2_items .= $this->link_type( $mitem, $typechild );
                } else {
                    $col1_items .= $this->link_type( $mitem, $typechild );
                }
            }

            $childrens = '<div class="megaMenuContent cols2 clearfix">';
            $childrens .= '<ul>' . $col1_items . '</ul>';
            $childrens .= '<ul>' . $col2_items . '</ul>';
            $childrens .= '</div>';

        } else if( $typeparent == 'mega3' ) {

            $li_classes[] = 'dropDown megaMenu';

            $items_array = $this->levels_recursive_array( $item->ID );
            unset( $items_array['subnav'] );

            $items_per_col = ceil( count( $items_array ) / 3 );

            $col1_items = $col2_items = $col3_items = '';

            foreach( $items_array as $k => $mitem ) {
                $typechild = get_post_meta( $mitem->ID, '_menu_item_menutype2', true );
                if( $k < $items_per_col ) {
                    $col1_items .= $this->link_type( $mitem, $typechild );
                } else if( $k/2 >= $items_per_col ) {
                    $col3_items .= $this->link_type( $mitem, $typechild );
                } else {
                    $col2_items .= $this->link_type( $mitem, $typechild );
                }
            }

            $childrens = '<div class="megaMenuContent cols3 clearfix">';
            $childrens .= '<ul>' . $col1_items . '</ul>';
            $childrens .= '<ul>' . $col2_items . '</ul>';
            $childrens .= '<ul>' . $col3_items . '</ul>';
            $childrens .= '</div>';

        } else {

            $childrens = $this->levels_recursive( $item->ID );

        }

        $output .= sprintf( "\n" . '<li%s%s><a href="%s"%s%s>%s</a>%s</li>',
                ( !empty( $li_classes ) ? ' class="' . implode( $li_classes, ' ' ) . '"' : '' ),
                ( !empty( $li_atts ) ? ' ' . implode( ' ', $li_atts ) : '' ),
                $this->add_one_page_section( $item ),
                ( !empty( $a_classes ) ? ' class="' . implode( $a_classes, ' ' ) . '"' : ' ' ),
                ( !empty( $a_atts ) ? ' ' . implode( ' ', $a_atts ) : '' ),
                $item->title,
                $childrens );

    }

    }

    return $output;
}

function link_type( $item = '', $type = '' ) {
    $li_classes = array();

    if( get_the_ID() == $item->object_id ) {
        $li_classes[] = 'current';
    }

    if( $type == 'title' ) {
        return '<li class="megaMenuTitle' . ( !empty( $li_classes ) ? ' ' . implode( ' ', $li_classes ) : '' ) . '">' . $item->title . '</li>';
    } else {
        return '<li' . ( !empty( $li_classes ) ? ' class="' . implode( ' ', $li_classes ) . '"' : '' ) . '><a href="' . $this->add_one_page_section( $item ) . '">' . $item->title . '</a></li>';
    }
}

function levels_recursive( $parent = 0, $level = 1 ) {
    if( empty( $parent ) ) return ;

    $output = '';

    if( isset( $this->subnav_elements[$parent] ) ) {
        $output .= '<ul class="fastwp-menu-level-' . $level . '">';
        foreach( $this->subnav_elements[$parent] as $item ) {
            $output .= '<li' . ( $this->item_has_children( $item->ID ) ? ' class="dropDown"' : '' ) . '><a href="' . $this->add_one_page_section( $item ) . '">' . $item->title . '</a>';
            $output .= $this->levels_recursive( $item->ID, ($level+1) );
            $output .= '</li>';
        }
        $output .= '</ul>';
    }

    return $output;
}

function item_has_children( $item = '' ) {
    if( in_array( $item, array_keys( $this->subnav_elements ) ) ) {
        return true;
    }
    return false;
}

function levels_recursive_array( $parent = 0 ) {
    if( empty( $parent ) ) return array();

    $output = array();

    if( isset( $this->subnav_elements[$parent] ) ) {
        foreach( $this->subnav_elements[$parent] as $item ) {
            $output[] = $item;
            $output['subnav'] = $this->levels_recursive( $item->ID );
        }
    }

    return $output;
}

function nice_elements( $menu_id ) {
    $elements = array();
    foreach( $this->get_elements( $menu_id ) as $element ) {
        if( !empty( $element->menu_item_parent ) ) {
            $elements['subnav'][$element->menu_item_parent][] = $element;
        } else {
            $elements['main'][$element->ID][] = $element;
        }
    }
    return $elements;
}

function get_elements( $menu_id = 'primary' ) {
    $locations = get_nav_menu_locations();

    if( !empty( $this->override_menu ) ) {
        $menu = $this->override_menu;
    } else {
        $menu = $locations[$menu_id];
    }

    $elems = wp_get_nav_menu_items( get_term( $menu, 'nav_menu' ), array( 'depth' => 1 ) );

    $return_elems = array();
    foreach( $elems as $elem ) {
        $return_elems[] = $elem;
    }
    return $return_elems;
}

}

© www.soinside.com 2019 - 2024. All rights reserved.