首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Genesis菜单复制而不是移动

Genesis菜单复制而不是移动
EN

Stack Overflow用户
提问于 2013-06-04 03:46:52
回答 1查看 922关注 0票数 0

我正在一个创世网站上工作,在那里我需要将标准的导航菜单移到标题上方。我在我的子主题的functions.php文件中使用了以下代码:

代码语言:javascript
复制
remove_action( 'genesis_after_header', 'genesis_do_nav' );
add_action( 'genesis_before_header', 'genesis_do_nav' );

它在标题之前添加了一个导航菜单,但没有删除标题后面的菜单。"after header“被正确地放在输出中,所以我知道我在"remove_action”上使用了正确的钩子。在我的functions.php文件中,除了为页脚指定菜单并添加描述之外,没有处理导航的其他内容。下面是我的functions.php文件中的所有代码(跳过处理列快捷代码的较大部分):

代码语言:javascript
复制
add_action('genesis_setup','child_theme_setup', 15);
function child_theme_setup() {
    //Add Homepage Sidebar
    genesis_register_sidebar( array( 'name' =>
    'Home Sidebar', 'id' => 'home-sidebar' ) );
    //Adds footer widgets
    add_theme_support( 'genesis-footer-widgets', 6 );
    //Adds Footer Text Replace
    remove_action( 'genesis_footer', 'genesis_do_footer' );
    remove_action('genesis_footer', 'genesis_footer_markup_open', 5);
    remove_action('genesis_footer', 'genesis_footer_markup_close', 15);
    add_action( 'genesis_after', 'be_footer' );
}

//Function to replace the footer text and copyright
function be_footer() {
    echo '<div id="footer" class="footer"><div class="footer-wrap"><div class="left"><p>© Copyright ' . date('Y') . ' RC Auto |<a href="http://www.watrousmedia.com/">Watrous Media</a></p></div>';
    echo '<div class="right">';
    wp_nav_menu( array( 'menu' => 'footer' ) );
    echo '</div></div></div>';
}
//Add Menu Descriptions
function be_add_description( $item_output, $item ) {
$description = $item->post_content;
if (' ' !== $description )
return preg_replace( '/(<a.*?>[^<]*?)</', '$1' . '<span>' . $description . '</span><', $item_output);
else
return $item_output;
}
add_filter( 'walker_nav_menu_start_el', 'be_add_description', 10, 2 );

// Use shortcodes in widgets
add_filter( 'widget_text', 'do_shortcode' );

/** Move primary nav menu to before header for mobile support*/
remove_action( 'genesis_after_header', 'genesis_do_nav' );
add_action( 'genesis_before_header', 'genesis_do_nav' );

这是一个截图:

主菜单是在我需要的标题中添加到小部件中的样式菜单。我计划将主菜单用作响应式移动菜单。有人知道为什么下部的导航没有被移除吗?

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-12 05:03:25

我也有这个问题,在子主题的functions.php文件的开头添加了以下代码解决了这个问题:

代码语言:javascript
复制
require_once( get_template_directory() . '/lib/init.php' );

您还可以在child_theme_setup()函数中移动remove_action( 'genesis_after_header', 'genesis_do_nav' );

要求init.php将确保genesis框架首先被初始化,因此函数文件中它之后的所有内容都将能够引用genesis函数。如果您使用的是genesis_setup操作,则需要确保在该函数中运行需要genesis框架作为引用的函数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16904665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档