Как я добавляю поддержку своей теме для пользовательских меню?

Я прочитал несколько учебных руководств о том, как добавить функциональность пользовательских меню, добавленных в версии 3.0 к моей теме, но они все, кажется, отличаются несколько, и я не уверен, содержат ли они лишний код. Кроме того, я считал что код для регистрации темы как совместимой с меню измененный между RC и общедоступным выпуском.

Каков самый простой способ добавить поддержку пользовательских меню к моей теме?

6
11.08.2010, 22:38
3 ответа

Самый легкий путь состоит в том, чтобы использовать register_nav_menus функция. Это должно быть сцеплено в 'after_setup_theme':

function my_cool_menu_function(){
  register_nav_menus( array(
    'primary' => 'Primary Navigation'
  ));
}

add_action( 'after_setup_theme', 'my_cool_menu_function' );

Затем в Вашей теме просто назовите положение того меню:

wp_nav_menu( array( 'theme_location' => 'primary' ) );
9
19.02.2020, 22:04

Добавьте это к functions.php из Вашей темы. Если Вы не имеете один, создайте его.:

<?php
add_theme_support('menus');
function register_my_menus() {
    $args = array( 
        'menu-1' => __( 'Main Menu' )
    );
    register_nav_menus( $args );
}
add_action( 'init', 'register_my_menus' );
?>

И это может пойти куда угодно, у меня есть он в header.php (см. wp_nav_menu() документы):

<?php
$args = array(
    'menu' => 'Main Menu',
    'sort_column' => 'menu_order',
    'container' => 'div',
);
wp_nav_menu( $args ); ?>
3
19.02.2020, 22:04

Это, как включать пользовательскую навигацию в ее самую простую форму, я полагаю, что она берет навигацию с не идентификатор:

<div class="access">
  <?php wp_nav_menu(); ?>
</div>

Существуют также основные опции, которые могут быть переданы функции, вот то, что я обычно использую:

$navArgs=array(
    'menu_id' => 'nav',    // target the nav menu
    'container' => '',     // don't wrap the menu in <ul>
);
0
19.02.2020, 22:04

Теги

Похожие вопросы