Sidebar trên wordpress
WordPress sidebar
Để thêm một Widget mới vào WordPress, người mua cần thực hiện theo 4 bước sau
- Bước 1: Đăng nhập vào trình WordPress dashboard trên trang quản lý.
- Bước 2: Trong mục Appearance, chọn vào phần Widgets.
- Bước 3: quý khách không thể thêm mới Widget bằng cách kéo thả chúng vào vị trí mình mong muốn. đặc biệt, bạn có thể đặt Widget vào vị trí phía bên trái, bên phải hay phía dưới trang tùy theo sở thích dùng. Trong trường hợp Widget WordPress có định dạng là video. người dùng có thể upload video trực tiếp lên trang web hay chèn link tùy ý.
- Bước 4: Một phương pháp khác để thêm mới Widget trên WordPress là dùng Customize trực tiếp. Để dùng chức năng này, khách hàng cần truy cập vào mục Appearance trong trang wp-admin hay nút Customize trên mẫu mã website giá tốt cũng đích .
Để xóa Widget, bạn cũng dùng chuột kéo thả nó ra khỏi vị trí
Hoặc là Click vào title mất Widget muốn xóa để mở vùng mở rộng chính của Widget. Sau đó chọn xóa.
ngoài ra, để điều chỉnh vị trí trên dưới của widget thì khi các widget đã vào khu vực mong muốn, bạn có thể chỉnh vị trí trên dưới của chúng bằng cách kéo thả lên xuống.
Widget API
Widgets API cho phép bạn code các widget tùy chỉnh trên WordPress. Để tạo bất kỳ gần widget tùy chỉnh, bạn cần phải dùng lớp WP_Widget từ API. Đây là lớp cơ sở cung cấp hơn 20 hàm cơ bản để bạn có thể code. Trong đó, có 4 hàm cơ bản nhất mà bất kể một widget nào cũng cần để hoạt động:
- __construct() : hàm khỏi tạo
- widget() : đầu ra của widget
- form() : định nghĩa các cài đặt của widget trong Admin Dashboard
- update() : cập nhật các cài đặt của widget
Wp widget
Sau đây chúng ta sẽ thêm code vào file functions.php của theme hiện đang dùng nhưng bạn có thể làm việc này trong bất cứ plugin tùy chỉnh nào. Bạn có thể dùng File Manager, FTP của hosting hoặc WordPress Editor để thêm mã này vào file functions.php. Đừng quên tạo bản sao lưu file functions.php ở một nơi nào khác trước khi bạn thực hiện thêm widget. Điều này đảm bảo rằng nếu việc thêm Widget không thành công, theme của bạn cũng không bị tác động.
Tạo function __construct()
Hãy mở bất kỳ thường trình soạn thảo văn bản nào trong máy tính của bạn. Tạo lớp mở rộng sâu của lớp cơ sở WP_Widget như sau:
class new_widget extends WP_Widget //Insert functions here chính
Đầu tiên trong danh sách là phương thức xây dựng. Chúng ta sẽ dùng để xác định một ID là tên của widget như cách nó xuất hiện trong phần UI và phần mô tả:
function __construct() parent::__construct( // widget ID 'new_widget', // widget name __('My Sample Widget', ' new_widget_domain'), // widget description array( 'description' => __( 'My Widget Tutorial', 'new_widget_domain' ), ) ); nhất
Cấu hình đầu ra của widget()
Chúng ta chuyển sang chỉnh sửa cách hiển thị của widget. Phần đầu giao diện của widget trông như thế nào sẽ được thực hiện phê duyệt các hàm widget():
public function widget( $args, $instance ) $title = apply_filters( 'widget_title', $instance['title'] ); echo $args['before_widget']; //if title is present if ( ! empty( $title ) ) echo $args['before_title'] . $title . $args['after_title']; //output echo __( 'Hello World!', 'new_widget_domain' ); echo $args['after_widget']; đừng
Ở đây ta lấy ví dụ suất “Hello World!” là đầu ra của Widget. Bạn có thể thay đổi lớn cấu trúc đầu ra cho Widget theo nhu cầu của mình.
Tạo hàm form()
Chúng ta sẽ lập trình cho widget bằng cách dùng hàm form()
public function form( $instance ) if ( isset( $instance[ 'title' ] ) ) $title = $instance[ 'title' ]; else $title = __( 'Default Title', 'new_widget_domain' ); ?> <p> <label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:' ); ?></label> <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" /> </p> <?php luôn
Cập nhật tác dụng widget với hàm update()
Chúng ta phải thực hiện chức năng cập nhật để làm mới các widget mỗi khi các cài đặt được thay đổi lại gần .
public function update( $new_instance, $old_instance ) $instance = array(); $instance['title'] = ( ! empty( $new_instance['title'] ) ) ? strip_tags( $new_instance['title'] ) : ''; return $instance; được sẽ
Bạn cần bổ sung thêm công dụng đăng ký widget với WordPress
function new_register_widget() register_widget( 'new_widget' ); nhẹ sớm lớn add_action( 'widgets_init', 'new_register_widget' );
Lưu ý các dòng trên phải được đặt bên ngoài hàm new_widget()
Chúng ta đã khởi tạo hàm tính năng đích mới là new_register_widget() giúp đăng ký widget. Dùng widget ID trong hàm __construct(). Sau đó, khởi tạo hàm này bằng cách dùng widgets_init để chuyên chở các thông báo về widget vào wordpress ưng chuẩn đang phương thức add_action() được xây dựng sẵn. Cuối cùng, mã code của widget tủy chỉnh cho WordPress sẽ giống như sau:
function new_register_widget() register_widget( 'new_widget' ); luôn add_action( 'widgets_init', 'new_register_widget' ); class new_widget extends WP_Widget function __construct() parent::__construct( // widget ID 'new_widget', // widget name __('My Sample Widget', ' new_widget_domain'), // widget description array( 'description' => __( 'My Widget Tutorial', 'new_widget_domain' ), ) ); đích public function widget( $args, $instance ) $title = apply_filters( 'widget_title', $instance['title'] ); echo $args['before_widget']; //if title is present if ( ! empty( $title ) ) echo $args['before_title'] . $title . $args['after_title']; //output echo __( 'Hello World!', 'new_widget_domain' ); echo $args['after_widget']; đích public function form( $instance ) if ( isset( $instance[ 'title' ] ) ) $title = $instance[ 'title' ]; else $title = __( 'Default Title', 'new_widget_domain' ); ?> <p> <label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:' ); ?></label> <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" /> </p> <?php bỗng nhiên không public function update( $new_instance, $old_instance ) $instance = array(); $instance['title'] = ( ! empty( $new_instance['title'] ) ) ? strip_tags( $new_instance['title'] ) : ''; return $instance; lắm
Bây giờ, đến khu vực quản trị WordPress chọn phần Appearance. Sau đó vào mục Widgets. Bạn sẽ thấy một widget có tên là New Sample Widget trong Available Widgets. Chúc mừng, bạn đã tạo được một widget tùy chỉnh cho riêng mình. không những thế, đây chỉ là những bước cơ bản. Một widget hoàn thiện bao gồm đa dạng chức năng đòi hỏi kỹ thuật luôn lập trình của bạn. Vì thế bạn nên đánh giá qua các Plugins trợ giúp đã tạo Widget.
Để có thể tối ưu cho wordpress của bạn, có thể dùng các công cụ thay đổi xa widget khác cho wordpress tại các plugin trọng yếu đừng cho wordpress
Sau nội dung bài viết cũ này, mong rằng bạn có thể hiểu hơn về widget trong WordPress cũng như các thay đổi có lẽ cơ bản để làm sao xây dựng một website ưng ý trên nền tảng WordPress, chúc bạn thành công.