it-swarm-vi.tech

Làm cách nào để thêm hỗ trợ cho chủ đề của tôi cho các menu tùy chỉnh?

Tôi đã đọc một vài hướng dẫn về cách thêm chức năng của các menu tùy chỉnh được thêm vào trong phiên bản 3.0 vào chủ đề của tôi nhưng tất cả chúng có vẻ khác nhau đôi chút và tôi không chắc liệu chúng có chứa mã thừa hay không. Ngoài ra, tôi đọc rằng mã để đăng ký chủ đề của bạn là tương thích với menu đã thay đổi giữa RC và bản phát hành công khai.

Cách đơn giản nhất để thêm hỗ trợ cho các menu tùy chỉnh vào chủ đề của tôi là gì?

6
nobody

Cách dễ nhất là sử dụng hàm register_nav_menus. Điều này nên được nối vào 'after_setup_theme':

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

add_action( 'after_setup_theme', 'my_cool_menu_function' );

Sau đó, trong chủ đề của bạn, chỉ cần gọi vị trí của menu đó:

wp_nav_menu( array( 'theme_location' => 'primary' ) );
9
John P Bloch

Thêm phần này vào functions.php trong chủ đề của bạn. Nếu bạn không có, hãy tạo nó.:

<?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' );
?>

Và điều này có thể đi bất cứ nơi nào, tôi có nó trong header.php (xem wp_nav_menu () docs):

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

Đây là cách bao gồm điều hướng tùy chỉnh ở dạng đơn giản nhất, tôi tin rằng nó chọn điều hướng không có định danh:

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

Ngoài ra còn có các tùy chọn cơ bản có thể được truyền cho hàm, đây là những gì tôi thường sử dụng:

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