Cách tạo Widget WordPress

Các widget được sử dụng để thêm nội dung vào trang WordPress theo chương trình mà không làm phiền các mẫu chủ đề. Thanh bên là khu vực mặc định để thêm nội dung tiện ích.

Ngoài ra, chúng ta có thể đăng ký khu vực widget của riêng mình và thêm các widget vào đó. WordPress chứa một số widget mặc định Tìm kiếm , Danh mục , Thẻ và hơn thế nữa.

Trong quản trị viên WordPress, chúng ta có thể thấy Widget trong menu Appearance . Chúng tôi cần tùy chỉnh chủ đề của mình để hỗ trợ tiện ích con được gọi là widgetizing . Sau khi thêm một widget vào vùng widget, nó có thể được hiển thị bằng cách sử dụng hàm dynamic_sidebar ().

Trong hướng dẫn này, chúng ta sẽ tạo và thêm một widget tùy chỉnh và hiển thị nội dung của nó trong một trang WordPress. Các bước là,

  1. Tạo một plugin tiện ích con
  2. Mở rộng chủ đề
  3. Thêm tiện ích con vào khu vực tiện ích con
  4. Hiển thị tiện ích con trong User End

Tạo và cài đặt Plugin tiện ích con

Chúng tôi tạo một plugin để thêm tiện ích của riêng chúng tôi vào chủ đề WordPress. Trong plugin này, chúng tôi tạo một lớp widget bằng cách mở rộng WP_widgets.

Plugin tiện ích con này là để hiển thị phân loại tùy chỉnh theo thứ tự phân cấp. Trong hướng dẫn trước, chúng ta đã biết về cách tạo phân loại tùy chỉnh trong WordPress.

Hàm tạo lớp được sử dụng để khởi tạo plugin tiện ích bằng cách chỉ định id, tên và mô tả tiện ích. Chúng tôi ghi đè hàm widget () để tạo HTML nhằm hiển thị các thuật ngữ phân loại tùy chỉnh ở người dùng cuối. Mã plugin là,


/ *
Tên plugin: Tiện ích con phân loại tùy chỉnh PhpPot
URI của plugin: https://phppot.com
Mô tả: Tiện ích thanh bên để liệt kê Phân loại tùy chỉnh
Tác giả: Vincy
URI của tác giả: https://phppot.com 
Phiên bản: 1.0.0
* /

lớp Phppot_Taxonomy_Widget mở rộng WP_Widget {
	function __construct () {
		cha :: __ construct (
		'Taxonomy_Widget',
		'Tiện ích phân loại Phppot', 
		array ('description' => 'Sidebar widget to list Custom taxonomy',) 
		);
	}
	
	tiện ích hàm ($ args, $ instance) {
		$ title = apply_filters ('widget_title', $ instance ['title']);
		echo $ args ['before_widget'];
		echo $ args ['before_title']. "Giải thưởng". $ args ['after_title'];	
		echo "<ul class = 'hạng mục giải thưởng'>". wp_list_categories (array (
				'hide_empty' => 0,
				'post_type' => 'đăng',
				'orderby' => 'term_order',
				'phân cấp' => 1,
				'taxonomy' => 'Prize',
				'echo' => 0,
				'title_li' => '')). "</ul>";
		echo $ args ['after_widget'];
	}
}

function register_taxonomy_widget () {
	register_widget ('Phppot_Taxonomy_Widget');
}
add_action ('widgets_init', 'register_taxonomy_widget');

Trong đoạn mã trên, chúng tôi thêm một hook để đăng ký widget của chúng tôi. Điều này sẽ làm cho widget hiển thị trong khu vực quản trị để kéo và thả vào khu vực widget.Chúng tôi cũng có thể thêm mã này vào functions.php của chủ đề của chúng tôi. Tuy nhiên, widget sẽ có chủ đề cụ thể.

Mở rộng chủ đề

Widgetizing là quá trình tạo chủ đề của chúng tôi để hỗ trợ truy cập menu widget trong khu vực quản trị WordPress. Để tiện ích hóa chủ đề của chúng tôi, chúng tôi phải đăng ký khu vực phụ tùng bằng cách sử dụng register_sidebar (). Chúng tôi phải thêm mã sau vào functions.php của chủ đề của chúng tôi
if (function_exists ('register_sidebar')) {
    register_sidebar ();
}
Vì chúng tôi đang sử dụng khu vực widget mặc định để thêm widget của mình, nên đoạn mã trên là đủ. Nếu chúng ta muốn sử dụng vùng widget tùy chỉnh thì chúng ta cần chỉ định tên hoặc id của nó làm đối số của hàm register_sidebar ().

Thêm tiện ích con vào khu vực tiện ích con

Trong quản trị WordPress, chúng ta phải điều hướng qua menu Appearance-> Widgets. Nó hiển thị tất cả các thành phần widget và khu vực thả widget. Chúng ta có thể kéo và thả widget cần thiết vào khu vực widget. Hình minh họa trang widget được sử dụng để kéo và thả widget của chúng ta.

Hiển thị tiện ích con trong Người dùng cuối

Để hiển thị thành phần widget trong trang người dùng cuối, chúng ta cần gọi hàm dynamic_sidebar (). dynamic_sidebar () hiển thị các thành phần được thêm vào vùng widget mặc định.

Nếu chúng ta muốn hiển thị một số vùng widget cụ thể, thì chúng ta cần chỉ định tên của nó làm tham số của hàm này. Sau khi thêm widget thành công vào một vùng widget, nó sẽ được hiển thị cho người dùng như dưới đây.