私は始めたばかりで、PHP の知識は限られていますが、できるだけ早く習得しようとしています。Genesis フレームワークを使用して、誰かのためにサイトを設計しています。remove_action と add_action を使用して、ナビゲーションをページの上部に移動しました。これで、genesis_do_nav が genesis_header フックにロードされます。しかし、上部の中央にあるナビゲーション バーにロゴをインラインで配置したいと考えています。その要素を genesis_do_nav に追加する必要がありますか? そして、どうすればそれについて行くでしょうか?menu.php で関数を見つけたので、子テーマで新しく名前を付けた関数に移動する前にいじり始めましたが、コードに何をしても、ナビゲーションの前または後にのみ追加され、次のように表示されます。ブロック要素です。プライマリ メニュー li と同じ div で取得できればと思います。私が言ったように、私の PHP の知識は限られています。
add_action( 'genesis_after_header', 'genesis_do_nav' );
function genesis_do_nav() {
//* Do nothing if menu not supported
if ( ! genesis_nav_menu_supported( 'primary' ) )
return;
//* If menu is assigned to theme location, output
if ( has_nav_menu( 'primary' ) ) {
$class = 'menu genesis-nav-menu menu-primary';
if ( genesis_superfish_enabled() )
$class .= ' js-superfish';
$args = array(
'theme_location' => 'primary',
'container' => '',
'menu_class' => $class,
'echo' => 0,
);
$nav = wp_nav_menu( $args );
//* Do nothing if there is nothing to show
if ( ! $nav )
return;
$nav_markup_open = genesis_markup( array(
'html5' => '<nav %s>',
'xhtml' => '<div id="nav">',
'context' => 'nav-primary',
'echo' => false,
) );
$nav_markup_open .= genesis_structural_wrap( 'menu-primary', 'open', 0 );
$nav_markup_close = genesis_structural_wrap( 'menu-primary', 'close', 0 );
$nav_markup_close .= genesis_html5() ? '</nav>' : '</div>' ;
$nav_output = $nav_markup_open . $nav . $nav_markup_close;
echo apply_filters( 'genesis_do_nav', $nav_output, $nav, $args);
}
}
プライマリ メニュー LI とインラインで終わるようにしたい
echo apply_filters( 'genesis_do_nav', $nav_output, $nav, $args, HTML ELEMENTS HERE?);