我想在<span>
标记之后的wordpress菜单中添加<a>
,以便它看起来像这样
<li class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-4 current_page_item menu-item-13">
<a href="http://wordpress.org/"><span>Home</span></a>
</li>
任何帮助和建议都会很明显。
答案 0 :(得分:10)
嘿谢谢你的回复,但我明白了。它应该是这样的
<?php wp_nav_menu( array( 'theme_location' => 'primary', 'link_before' => '<span>','link_after'=>'</span>' ) ); ?>
答案 1 :(得分:-4)
它位于以下文件中:
/wp-includes/nav-menu-template.php
html输出从第82行开始
让我们感觉很好,这里是代码,从第82行替换为109:
$output .= $indent . '<li' . $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 .'><span>';
$item_output .= $args->link_before . apply_filters( 'the_title', $item->title, $item->ID ) . $args->link_after;
$item_output .= '</span></a>';
$item_output .= $args->after;
$output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args );
}
/**
* @see Walker::end_el()
* @since 3.0.0
*
* @param string $output Passed by reference. Used to append additional content.
* @param object $item Page data object. Not used.
* @param int $depth Depth of page. Not Used.
*/
function end_el(&$output, $item, $depth) {
$output .= "</li>\n";
}
}