Hoàng Web

Thiết Kế Website WordPress

  • Kho giao diện
  • Dịch Vụ
    • Tăng tốc độ WordPress
    • Tối ưu website WordPress
    • Thiết kế website WordPress
    • Viết plugin WordPress
    • Sửa lỗi nâng cấp website
  • Bảng giá
  • Quy trình làm việc
  • Giới thiệu
  • Liên Lạc
Trang chủ » Wordpress » Thay đổi hiển thị sidebar trong WordPress

Thay đổi hiển thị sidebar trong WordPress

Thứ Năm, 03/07/2014 by Hoàng Quách

  • shares
  • Facebook
  • Facebook Messenger
  • Gmail
  • Viber
  • Skype

Thay đổi động sidebar tùy theo template

dynamic sidebar wordpress

Trước tiên bạn đăng ký sidebars với action “wigets_init”.

//Register a secondary sidebar with action hook widgets_init.
add_action('widgets_init', 'wpse64492_register');
function wpse64492_register()
{
    register_sidebar(array(
        'name'  => __('Logged In Sidebar', 'wpse64492'),
        'id'    => 'logged-in'
    ));
}

Thông thường bố cục của trang web gồm có 4 phần:
-phần đầu header
-phần thân gồm: có cột trái gọi là sidebar và cột phải là nội dung hoặc cột trái là nội dung và cột phải là sidebar.
-phần cuối footer.
Để tạo sidebar chúng ta có template sidebar.php , sau đó sử dụng hàm get_sidebar() để include phần sidebar vào page template.
Khám phá đoạn code trong sidebar.php trong theme twentyeleven:

<div id="secondary" class="widget-area"></div>

Trong đoạn code sidebar template trên lấy nội dung của sidebar-1 được tạo trong Appearance->widgets. Xuyên suốt các trang có sử dụng sidebar là cố định “sidebar-1” tuy nhiên bạn có thể điều kiện sidebar để thay đổi, tăng tính linh hoạt cho nội dung website. Chúng ta sẽ tạo thêm sidebars và thay đổi bố cục sidebars theo ý muốn. Sử dụng những cách sau đây.

Điều khiển sidebar trong wordpress

WordPress cung cấp hook sidebars_widgets để làm điều này thật dễ dàng. Hãy xem ví dụ sau đây:

add_filter('sidebars_widgets', 'wpse64492_switch');
function wpse64492_switch($widgets)
{
    if(is_admin())
        return $widgets;

    $key = 'sidebar-1'; // the sidebar you want to change!

    if(isset($widgets[$key]) &amp;&amp; is_user_logged_in() &amp;&amp; isset($widgets['logged-in']))
        $widgets[$key] = $widgets['logged-in'];

    return $widgets;
}

Biến $widgets chứa các sidebars được đăng ký bởi hàm register_sidebar đặt trong /functions.php, bạn có thể thay thế sidebar khác với điều kiện theo ý bạn.
Hoặc cách đơn giản hơn, là custom hàm hàm dynamic_sidebar theo ngụ ý sử dụng.

function mytheme_sidebar($name)
{
     $name = apply_filters('mytheme_sidebar', $name);echo $name;
     dynamic_sidebar($name);
}
add_filter('mytheme_sidebar', 'mytheme_custom_sidebar');
function mytheme_custom_sidebar($name)
{
    return is_user_logged_in() ?  $name:'sidebar2';
}

Như vậy thay vì sử dụng dynamic_sidebar('sidebar-name'); thì sử dụng mytheme_sidebar('sidebar-name');

Bài viết này dành cho những ai am hiểu về lập trình WordPress, và sẽ khó cho người mới tiếp cận. Tuy nhiên, hiện nay có một vài plugin có thể giúp bạn làm điều này một cách dễ dàng. Xem hướng dẫn chọn Sidebar cho trang với WooSidebars

Hi vọng bài viết này giúp bạn sử dụng được nhiều sidebar trong các page khác nhau, tránh sự nhàm chán và tăng tính linh hoạt cho website.

Nếu bạn thích bài viết này, hãy ủng hộ chúng tôi bằng cách đăng ký nhận bài viết mới ở bên dưới và đừng quên chia sẻ kiến thức này với bạn bè của bạn nhé. Bạn cũng có thể theo dõi blog này trên Twitter và Facebook

  • shares
  • Facebook
  • Facebook Messenger
  • Gmail
  • Viber
  • Skype

Bài viết liên quan:

  1. Cách chèn file js/script và css/stylesheet trong wordpress.
  2. Tùy biến hiển thị danh mục category wordpress
  3. Plugin tự chuyển sang giao diện điện thoại cho wordpress
  4. Cách truyền tham số vào get_template_part wordpress
  5. Hiển thị bài viết liên quan trong wordpress
  6. WordPress theme swicher without plugin
  7. Một số conditional tag hay template tag wordpress cần dùng khi thiết kế giao diện
  8. Hiển thị lượt view của bài viết wordpress
  9. Thay đổi chuyển hướng template trong wordpress
  10. Tùy biến sidebar widget params thêm class chỉ số đếm cho widget – WordPress

Chuyên mục: Wordpress Tìm kiếm: wordpress sidebars, wordpress Templates

Đăng ký nhận bài viết mới

Vui lòng điền chính xác email ở bên dưới để nhận thông báo bài viết mới.

Bạn đã đăng ký thành công!

Lỗi! hãy làm lại.

thông tin của bạn được 100% bảo mật...

Tôi giúp gì cho bạn?

Nhận bài viết mới

Vui lòng điền chính xác email ở bên dưới để nhận thông báo bài viết mới.

Cám ơn bạn đã đăng ký.

Lỗi, hãy làm lại

thông tin của bạn được 100% bảo mật...

HOÀNG WEB

Địa chỉ: Tây Sơn, Phường Quang Trung, Quận Đống Đa, Hà Nội

Hotline: 0987 342 124 (8h:00 – 21h:00)

Email: [email protected]

Website: www.hoangweb.com

KẾT NỐI VỚI TÔI

  • Facebook
  • Snapchat

SẢN PHẨM

  • Plugin Auto-Sync Google Shopping cho WooCommerce
  • Phần mềm chặn click ảo
  • WP2Speed.com – Tăng tốc WordPress

LIÊN KẾT

  • Hướng dẫn thanh toán
  • Chính sách hoàn tiền
  • Trung tâm hỗ trợ

Copyright © 2021 | All rights reserved | HOANG WEB
Mọi hình thức sao chép nội dung trên website này mà chưa được sự đồng ý đều là trái phép.