Cách tạo một widget trong wordpress

Chào mừng bạn đã quay trở lại với dự án ebook hướng dẫn thiết kế theme wordpress

Nội dung của bài học hôm nay: đi tìm hiểu về cách chúng ta tạo ra một widget

Nếu bạn đã từng sử dụng wordpress thì không mấy xa lạ với khái niệm widget, chính khái niệm này đã làm cho wordpress gần gũi với người sử dụng hơn, hôm nay tôi và bạn sẽ đi tìm hiểu như thế nào để tạo ra một widget nhé

Tạo widget trong wordpress
Tạo widget trong wordpress

Trước tiên là cú pháp của nó:

class ten_widget extends WP_Widget

{

function ten_widget (){

$widget_ops = array(‘description’ => ‘Mô tả về chức năng của widget’);

$control_ops = array(‘width’ => 300, ‘height’ => 300); độ rộng và độ cao của widget

parent::WP_Widget(false,$name=’example’,$widget_ops,$control_ops); tên của widget. Ở đây tôi đặt tên cho nó là example

}

function form($instance){

$instance = wp_parse_args( (array) $instance, array(‘ truong_cua_form ‘=>”) );

$truong_cua_form = htmlspecialchars($instance[‘ truong_cua_form ‘]);

echo ‘<p><label for=”‘ . $this->get_field_id(‘ truong_cua_form ‘) . ‘”>’ . ‘Nhập gì vào đây nhỉ:’ . ‘</label><textarea cols=”20″ rows=”5″ id=”‘ . $this->get_field_id(‘ truong_cua_form ‘) . ‘” name=”‘ . $this->get_field_name(‘ truong_cua_form ‘) . ‘” >’. $ truong_cua_form .'</textarea></p>’;

}đây là form khi bạn kéo và thả vào khu widget của theme nó sẽ xuất hiện, tùy theo nhu cầu bạn có thể định nghĩa nhiều trường ở đây tôi ví dụ một trường. Bạn lưu ý truong_cua_form nhé

function update($new_instance, $old_instance){

$instance = $old_instance;

$instance[‘ truong_cua_form ‘] = stripslashes($new_instance[‘ truong_cua_form ‘]);

return $instance;

}Sau khi tạo ra form rồi, bây giờ chúng ta muốn lưu nó vào cơ sở dữ liệu đúng không nào, và hàm này làm chức năng như vậy

function widget($args, $instance){

extract($args);

$aboutText = empty($instance[‘ truong_cua_form]) ? ” : $instance[‘ truong_cua_form ‘];

?>

<?php echo $ truong_cua_form; ?>

<?php

}

}Đây là hàm in ra giá trị mà chúng ta vừa mới nhập vào khi tạo widget

register_widget(‘ ten_widget’); làm xong rồi phải đăng ký thì khi đăng nhập vào khu admin mới thấy widget mình vừa tạo

Tóm lại:

1.Một widget có tùy chọn thì cấu trúc đầy đủ phải là:

class ten_widget extends WP_Widget

{

function ten_widget (){} hàm dựng là hàm thực hiện đầu tiên khi lớp ten_widget được gọi

function form(){} hàm tạo form

function update(){} hàm cập nhật giá trị người dùng nhập vào

function widget(){} hàm hiển thị những gì người dùng nhập vào ra ngoài trang (chỗ có định nghĩa sidebar, thường nếu là blog thì ở bên phải đó bạn)

}

register_widget(‘ ten_widget’);

2.Một widget không có tùy chòn thì cấu trúc chỉ cần:

class ten_widget extends WP_Widget

{

function ten_widget (){}

function widget(){echo “In ra nội dung gì đây hả bạn”}

}

Ứng dụng bài học chúng ta tạo ra một widget tên là hello, nhiệm vụ của nó là in ra chữ hello ở thanh sidebar

[php]

class hello extends WP_Widget

{
function hello(){
$widget_ops = array(‘description’ => ‘In ra chữ hello’);
$control_ops = array(‘width’ => 300, ‘height’ => 300); parent::WP_Widget(false,$name=’hello widget’,$widget_ops,$control_ops);
}
function widget(){
echo ‘ hello’;
}
}
register_widget(‘hello’);
[/php]

Bạn copy tất cả lệnh trên vào file function.php và đăng nhập vào admin sẽ thấy một widget tên là hello widget, bạn kéo thả vào sidebar và ra ngoài trang chủ sẽ thấy chữ hello, bạn có thể viết bất cứ thứ gì thay cho chữ hello đúng không

Bài học hôm nay tạm dừng tại đây, hẹn gặp lại bạn ở bài tiếp theo

4.8/5 (16 Đánh giá)

Gửi Phản Hồi
Chọn đánh giá của bạn
0 Bình Luận
Thông tin người gửi
Anh Chị


Form đăng ký nhận bài mới

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

Khi mình đăng bài mới bạn sẽ nhận nó qua Email


Super-flatsome

Hướng dẫn thiết kế theme

Các functions thường dùng

  • Hotline: 0912 889 416

  • Fcwordpress trên facebook Fcwordpress trên Twitter Fcwordpress trên youtube

Mọi sự sao chép xin ghi rõ nguồn là fcwordpress.net

Chuyên trang về wordpress: hướng dẫn thiết kế theme, plugin, thủ thuật wordpress

0912889416