Hãy tìm kiếm trước khi đặt câu hỏi, bạn sẽ tiết kiệm rất nhiều thời gian

Nhưng đừng ngại hỏi và đóng góp câu trả lời

Lấy ra custom sidebar trên trang archive của custom post type

+1 phiếu
level-1 đã hỏi 31 Tháng 8, 2015 bởi Khách

Tôi có một custom post type là "bibliographies" và tương ứng với nó là file "archive-bibliographies.php" để hiển thị danh sách các post. Tôi muốn thêm 1 sidebar tùy chỉnh riêng cho trang này nên đã sử dụng đoạn code như sau:

/ Register Bibliography Sidebar

function bibliography_sidebar() {

    register_sidebar( array(

        'name' => 'bibliography_sidebar',

        'id' => 'bibliography_sidebar',

        'description' => __( 'Widgets in this area will be shown on the bibliography sidebar.', 'theme-slug' ),

        'before_widget' => '<li id="%1$s" class="widget %2$s">',

        'after_widget'  => '</li>',

        'before_title'  => '<h2 class="bibliography_sidebar">',

        'after_title'   => '</h2>',

    ) );

}

add_action( 'widgets_init', 'bibliography_sidebar' );

Sau đó, tại trang "archive-bibliographies.php" tôi gọi sidebar này như sau:

get_sidebar('bibliography_sidebar');

Nhưng nó hiện ra Main Sidebar chứ không hiện ra  "bibliography_sidebar" như tôi mong muốn, mong mọi người giúp đỡ.

Hỏi bạn bè:

1 câu trả lời

0 phiếu
level-14 level-power đã trả lời 1 Tháng 9, 2015 bởi lampd Chuyên gia (30,040 điểm)

Chào bạn, get_sidebar($name) sẽ load template sidebar-{$name}.php. Và nếu template này không tồn tại thì nó sẽ load file sidebar.php.

Để tạo được một sidebar riêng, bạn cần phải tạo file sidebar-bibliography_sidebar.php trong theme đang dùng, có thể sử dụng code sau:

<?php

if ( is_active_sidebar( 'bibliography_sidebar' ) ) {

    dynamic_sidebar( 'bibliography_sidebar' );

}

Chúc bạn thành công.

Chuyên mục HOT

Câu hỏi từ mạng lưới

...