Hoàng Web

Thiết Kế Website WordPress

  • Kho giao diện
  • Dịch Vụ
    • Thiết kế web giá rẻ
    • Thiết kế website WordPress
    • Hosting Miễn Phí 100GB
    • Tích hợp thanh toán MoMo, ViettelPay, Vietcombank, MB..
    • Tối ưu Google PageSpeed
    • Sửa lỗi nâng cấp website
    • Viết plugin WordPress
    • Code Tool theo yêu cầu
  • Bảng giá
  • Quy trình làm việc
  • Giới thiệu
  • Liên Lạc
Trang chủ » Wordpress » Lấy dữ liệu widgets đã đăng ký trên sidebar trong wordpress

Lấy dữ liệu widgets đã đăng ký trên sidebar trong wordpress

Thứ Ba, 09/09/2014 by Hoàng Quách

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

Làm sao để lấy dữ liệu của các widgets bạn nhập trong wordpress admin. Widget được hiển thị trực tiếp trên sidebar có chứa nó bởi hàm dynamic_sidebar.
Giả sử trong file functions.php wordpress theme của bạn đăng ký sidebar sử dụng cho website.

register_sidebar( array(
		'name' => __( 'Left Sidebar', 'twentytwelve' ),
		'id' => 'sidebar-1',
		'description' => __( 'sidebar 1', 'twentytwelve' ),
		
		'before_widget' => '<div class="widget %2$s" id="%1$s">',
		'after_widget' => '</div></div>',
		'before_title' => '<div class="title %2$s"><span>',
		'after_title' => '</span></div><div class="lcontent">',
	) );

Sidebar này có ID “sidebar-1”, và để chèn các widgets của sidebar-1 bạn gọi hàm sau trong sidebar.php:

dynamic_sidebar('sidebar-1');

Đa phần dữ liệu như post-type, taxonomy category, comment..đều cho phép truy cập thông qua hàm tiện ích get_option. Một số dữ liệu quy mô nhỏ bạn sẽ nhập trực tiếp trong wordpress admin ví dụ widget, category, taxonomy và chúng thuộc về dữ liệu cài đặt của wordpress mà chúng ta có thể truy cập với hàm get_option.

Để lấy dữ liệu của một widget đã tồn tại ở sidebar, trước tiên hãy xác định tên widget. Để thực hiện, bạn chuột phải vào vị trí widget trên website (frontend), chọn kiểm tra phần tử (inspect Element).
lấy dữ liệu widget wordpress

Tên widget chính là giá trị của %2$s trong phần đăng ký sidebar nằm ở file functions.php tại hàm register_sidebar.

register_sidebar( array(
		......
		'before_widget' => '<div class="widget %2$s" id="%1$s">',
		......
	) );

Như bạn thấy ở hình trên, widget mình demo là “widget_yahoo_skype_status”.
Sau khi xác định tên widget cần lấy dữ liệu, bạn có thể lấy dữ liệu cài đặt của widget với hàm get_option rồi.

get_option("widget_yahoo_skype_status");

Hàm Trả về mảng giống thế này:

array(2) { [2]=> array(72) { ["title"]=> string(17) "Hỗ trợ Online" ["skin"]=> string(7) "default" ["nick_1"]=> string(15) "quachhoang_2005" ["is_show_name_1"]=> string(1) "1" ["nick_name_1"]=> string(7) "MrHoang" ["phone_1"]=> string(11) "46576576878" ["nick_type_1"]=> string(5) "yahoo" ["yahoo_status_type_1"]=> string(1) "0" ["skype_status_type_1"]=> string(12) "smallclassic" ["nick_2"]=> string(7) "htx_113" ["is_show_name_2"]=> string(1) "1" ["nick_name_2"]=> string(7) "htx_113" ["phone_2"]=> string(0) "" ["nick_type_2"]=> string(5) "yahoo" ["yahoo_status_type_2"]=> string(1) "0" ["skype_status_type_2"]=> string(12) "smallclassic" ["nick_3"]=> string(7) "htx_117" ["is_show_name_3"]=> string(1) "1" ["nick_name_3"]=> string(7) "htx_117" ["phone_3"]=> string(0) "" ["nick_type_3"]=> string(5) "yahoo" ["yahoo_status_type_3"]=> string(1) "0" ["skype_status_type_3"]=> string(12) "smallclassic" ["nick_4"]=> string(9) "kd.eropi3" ["is_show_name_4"]=> string(1) "1" ["nick_name_4"]=> string(9) "kd.eropi3" ["phone_4"]=> string(0) "" ["nick_type_4"]=> string(5) "yahoo" ["yahoo_status_type_4"]=> string(1) "0" ["skype_status_type_4"]=> string(12) "smallclassic" ["nick_5"]=> string(7) "htx_115" ["is_show_name_5"]=> string(1) "1" ["nick_name_5"]=> string(7) "htx_115" ["phone_5"]=> string(0) "" ["nick_type_5"]=> string(5) "yahoo" ["yahoo_status_type_5"]=> string(1) "0" ["skype_status_type_5"]=> string(12) "smallclassic" ["nick_6"]=> string(0) "" ["is_show_name_6"]=> string(1) "1" ["nick_name_6"]=> string(0) "" ["phone_6"]=> string(0) "" ["nick_type_6"]=> string(5) "yahoo" ["yahoo_status_type_6"]=> string(1) "0" ["skype_status_type_6"]=> string(12) "smallclassic" ["nick_7"]=> string(0) "" ["is_show_name_7"]=> string(1) "1" ["nick_name_7"]=> string(0) "" ["phone_7"]=> string(0) "" ["nick_type_7"]=> string(5) "yahoo" ["yahoo_status_type_7"]=> string(1) "0" ["skype_status_type_7"]=> string(12) "smallclassic" ["nick_8"]=> string(0) "" ["is_show_name_8"]=> string(1) "1" ["nick_name_8"]=> string(0) "" ["phone_8"]=> string(0) "" ["nick_type_8"]=> string(5) "yahoo" ["yahoo_status_type_8"]=> string(1) "0" ["skype_status_type_8"]=> string(12) "smallclassic" ["nick_9"]=> string(0) "" ["is_show_name_9"]=> string(1) "1" ["nick_name_9"]=> string(0) "" ["phone_9"]=> string(0) "" ["nick_type_9"]=> string(5) "yahoo" ["yahoo_status_type_9"]=> string(1) "0" ["skype_status_type_9"]=> string(12) "smallclassic" ["nick_10"]=> string(0) "" ["is_show_name_10"]=> string(1) "1" ["nick_name_10"]=> string(0) "" ["phone_10"]=> string(0) "" ["nick_type_10"]=> string(5) "yahoo" ["yahoo_status_type_10"]=> string(1) "0" ["skype_status_type_10"]=> string(12) "smallclassic" } ["_multiwidget"]=> int(1) }

Thật tuyệt vời phải không. Không nhất thiết cần sử dụng sidebar trên website ,bạn có thể lấy bất cứ dữ liệu của widget nào mà bạn có thêm trong sidebar của wordpress admin.

Bạn cũng có thể lấy thông tin dữ liệu của toàn bộ widget mà lưu tại bảng wp_options. Sử dụng wpdb, tìm thông tin widget bắt đầu bằng ký tự prefix “widget_”.

$wpdb->get_results("SELECT * FROM {$wpdb->options} WHERE option_name LIKE 'widget_%')

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

Nếu bạn thấy bài viết này hữu ích, hãy chia sẻ với bạn bè bằng cách nhấn nút chia sẻ ở bên dưới. Theo dõi chúng tôi trên Twitter và Facebook

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

Chuyên mục: Wordpress Tìm kiếm: wordpress widget

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

HOÀNG WEB

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

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

Email: [email protected]

Website: www.hoangweb.com

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

  • Facebook
  • GitHub
  • YouTube

SẢN PHẨM

  • Plugin Thanh Toán Quét Mã QR Code Tự Động
  • WP2Speed – Tối ưu Google Speed
  • 23WebHost – Hosting Miễn Phí 100GB

LIÊN KẾT

  • Có nên thuê thiết kế website giá rẻ?
  • Hướng dẫn thanh toán
  • Chính sách hoàn tiền
  • Trung tâm hỗ trợ

Copyright © 2023 | 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.