質問: wordpressテンプレートのメインメニューのテーマの場所はどこで定義されていますか? 私はwordpress(私はjoomlaから来ました)でかなり新しいです、そして私はメインメニューのtheme locationに関連して次の疑問を持っています。例えば、プリインストールされているtwenty twelveテーマを使用して、バックエンドの場合は、次のように進みます。外観--->メニュー--->場所の管理自分のメインメニューのみ割り当て可能プライマリメニューという名前の特定のテーマ位置に。この領域はtwenty twelveテーマのheader.phpファイルに入っていると思います(私のメインメニューはページのヘッダーに表示されているので)、これはです。 header.php content:<?php /** * the header template for our theme * * displays all of the <head> section and everything up till <div id="main"> * * @package wordpress * @subpackage twenty_twelve * @since twenty twelve 1.0 */ ?><!doctype html> <!--[if ie 7]> <html class="ie ie7" <?php language_attributes(); ?>> <![endif]--> <!--[if ie 8]> <html class="ie ie8" <?php language_attributes(); ?>> <![endif]--> <!--[if !(ie 7) | !(ie 8) ]><!--> <html <?php language_attributes(); ?>> <!--<![endif]--> <head> <meta charset="<?php bloginfo( 'charset' ); ?>" /> <meta name="viewport" content="width=device-width" /> <title><?php wp_title( '|', true, 'right' ); ?></title> <link rel="profile" href="http://gmpg.org/xfn/11" /> <link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>" /> <?php // loads html5 javascript file to add support for html5 elements in older ie versions. ?> <!--[if lt ie 9]> <script src="<?php echo get_template_directory_uri(); ?>/js/html5.js" type="text/javascript"></script> <![endif]--> <?php wp_head(); ?> </head> <body <?php body_class(); ?>> <div id="page" class="hfeed site"> <header id="masthead" class="site-header" role="banner"> <hgroup> <h1 class="site-title"><a href="<?php echo esc_url( home_url( '/' ) ); ?>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a></h1> <h2 class="site-description"><?php bloginfo( 'description' ); ?></h2> </hgroup> <nav id="site-navigation" class="main-navigation" role="navigation"> <h3 class="menu-toggle"><?php _e( 'menu', 'twentytwelve' ); ?></h3> <a class="assistive-text" href="#content" title="<?php esc_attr_e( 'skip to content', 'twentytwelve' ); ?>"><?php _e( 'skip to content', 'twentytwelve' ); ?></a> <?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_class' => 'nav-menu' ) ); ?> </nav><!-- #site-navigation --> <?php if ( get_header_image() ) : ?> <a href="<?php echo esc_url( home_url( '/' ) ); ?>"><img src="<?php header_image(); ?>" class="header-image" width="<?php echo get_custom_header()->width; ?>" height="<?php echo get_custom_header()->height; ?>" alt="" /></a> <?php endif; ?> </header><!-- #masthead --> <div id="main" class="wrapper"> このprimary menuはどこにありますか、それともテーマの中でどのように定義されていますか?tnxアンドレア
回答: 親テーマファイルを変更せずに、子のfunctions.phpファイルから追加のメニューをフックすることもできます。add_action( 'wp_head', 'add_extra_nav' ); function add_extra_nav() { wp_nav_menu( array( 'theme_location' => 'extra-menu', 'container_class' => 'nav-menu' ) ); } 単にコンテナークラスをあなたのテーマが使用するものと同じものに変更し、あなたのテーマが一次または二次メニューのために使用する既存のクラスで関数をラップすれば、cssを追加する必要はありません。通常これはheader.phpにあります。wp_headフックを他のwordpressまたはテーマ固有のフックに変更します。