New Page Position

时间:2013-04-05 作者:ArgGeo

我正在构建一个供个人使用的wordpress主题。我第一次面临挑战,我真的不知道如何实现我想要的。该网站的标题结构是:第一行:徽标/第二行:自定义jquery滑块/第三行:导航菜单。我想做的是:当有人单击链接转到除主页以外的页面时,我想要第一个&;第二行显示在屏幕最上方,第三行显示在屏幕的最高区域。有人知道如何做到这一点吗?

对不起,我的英语不好。提前谢谢。

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

要在通过菜单后端添加的每个URL的末尾添加自定义哈希,说起来容易做起来难。

你可以建立一个custom walker.

或者你可以试着在walker_nav_menu_start_el 过滤和编辑这些,也许像这样[nav-menu-template.php]:

add_filter( \'walker_nav_menu_start_el\', \'my_skip_to_nav\', 10, 4 );

function my_skip_to_nav( $item_output, $item, $depth, $args ){
    $indent = ( $depth ) ? str_repeat( "\\t", $depth ) : \'\';

    $class_names = $value = \'\';

    $classes = empty( $item->classes ) ? array() : (array) $item->classes;
    $classes[] = \'menu-item-\' . $item->ID;

    $class_names = join( \' \', apply_filters( \'nav_menu_css_class\', array_filter( $classes ), $item, $args ) );
    $class_names = $class_names ? \' class="\' . esc_attr( $class_names ) . \'"\' : \'\';

    $id = apply_filters( \'nav_menu_item_id\', \'menu-item-\'. $item->ID, $item, $args );
    $id = $id ? \' id="\' . esc_attr( $id ) . \'"\' : \'\';

    $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        ) .\'"\' : \'\';
    // Here happens the magic!
    $attributes .= ! empty( $item->url )        ? \' href="\'   . esc_attr( $item->url        ) .\'#navigation"\' : \'\';

    $item_output = $args->before;
    $item_output .= \'<a\'. $attributes .\'>\';
    $item_output .= $args->link_before . apply_filters( \'the_title\', $item->title, $item->ID ) . $args->link_after;
    $item_output .= \'</a>\';
    $item_output .= $args->after;
    return $item_output;
}
再说一次,您可能不想要这么复杂的东西,并且可以使用Javascript/jQuery获得更简单的解决方案。

Javascript解决方案使用jQuery将锚添加到导航链接

jQuery(document).ready(function($){

    $(\'#navigation a\').each(function(){
       $(this).attr(\'href\', $(this).attr(\'href\') + \'#navigation\');
    });

});

结束

相关推荐

Thesis -style Navigation

我正在研究一个主题,我希望用户能够像论文一样选择要在主题选项页面中显示的页面。我已经在谷歌上搜索了几个小时的逆向工程论文,但还没有找到一个很好的解决方案。我想知道是否有人做过这件事或看过教程。