KHÓA HỌC DATABASE TRONG WORDPRESS
  • KHÓA HỌC DATABASE WORDPRESS
    • Giới thiệu khóa học
    • Khóa học này dành cho ai ?
    • Nội dung khóa học
    • Chuẩn bị cho khóa học
  • Bài 1: Phân tích thiết kế Database WordPress
    • Bài viết và chuyên mục liên kế như thế nào trong database ?
    • Hình ảnh được lưu ở đâu trong databse WordPress ?
    • Ảnh đại diện của một bài viết được lưu như thế nào?
    • Menu của WordPress được lưu ở đâu trong databse?
    • Widget được lưu ở dâu trong databse ?
    • Một plugin active lưu ở đâu?
  • Bài 2: Tạo bảng mới trong database WordPress
    • Tìm hiểu về Class wpdb & Tạo bảng mới
    • Tạo bảng mới với khóa ngoại
  • Bài 3: Thêm, sửa, xóa dữ liệu database WordPress vơi $wpdb
    • Thêm dữ liệu vào database WordPress
    • Cập nhật dữ liệu database WordPress
    • Xóa dữ liệu database WordPress
  • Bài 4: Query dữ liệu database Wordpress
    • Get results
    • Get row
    • Get var
    • Get col
  • Bài 5: Thực hành query dữ liệu database WordPress
    • Get 10 bài viết mới nhất
    • Truy vấn sql database wordpress get 10 bài viết mới nhất có hình đại diện
    • Truy vấn sql database wordpress get 10 bài viết theo chuyên mục
  • Bài 6: Thực hành tạo form contact với custom databse
    • Download template form contact & Tạo database lưu trữ dữ liệu contact
    • Xử lý dữ liệu vào lưu dữ liệu vào database
    • Cấu hình SMTP & Gởi mail liên hệ thông qua hàm wp_email
    • Hiển thị dữ liệu contact và tính năng tìm kiếm
    • Tối ưu database và bảo mật
Powered by GitBook
On this page
  • Class WPDB
  • Tạo bảng mới trong databse WordPress
  1. Bài 2: Tạo bảng mới trong database WordPress

Tìm hiểu về Class wpdb & Tạo bảng mới

Class WPDB

Class wpdb trong WordPress là một lớp PHP được sử dụng để tương tác với cơ sở dữ liệu MySQL của WordPress. Nó cung cấp các phương thức để thực hiện các thao tác truy vấn cơ sở dữ liệu như chèn, cập nhật, xóa và truy vấn dữ liệu.

Khi dùng class này chúng ta sẽ đỡ rủi ro về các vấn đề bảo mật...

Tạo bảng mới trong databse WordPress

Ví dụ yêu cầu: Tạo một bảng mới trong database wordpress để lưu thông tin liên hệ của khách hàng. Thông tin liên hệ khách hàng gồm: Họ và tên, email, số điện thoại, địa chỉ, tiêu đề và nội dung liên hệ.

Với yêu cầu phía trên mình sẽ tạo một table mới có tên là: wp_contacts. Và trong table này sẽ có các trường tương ứng là: ID, name, email, phone, address, title, content, date.

Để tạo bảng mới trong database wordpress các bạn chèn đoạn code sau vào file functions.php của theme đang dùng nhé!

<?php 
    function hk_CreatDatabaseContacts(){
        global $wpdb;
        $charsetCollate = $wpdb->get_charset_collate();
        $contactTable = $wpdb->prefix . 'contacts';
        $createContactTable = "CREATE TABLE IF NOT EXISTS `{$contactTable}` (
            `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
            `name` varchar(255) NOT NULL,
            `email` varchar(255) NOT NULL,
            `phone` varchar(20) NULL,
            `address` varchar(255) NULL,
            `content` longtext NULL,
            `date` timestamp NOT NULL,
            PRIMARY KEY (`id`)
        ) {$charsetCollate};";
        require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
        dbDelta( $createContactTable );
    }

    add_action('init', 'hk_CreatDatabaseContacts');
?>

Giải thích code tạo database mới trong wordpress:

Chúng ta tạo một hàm có tên là hk_CreatDatabaseContacts (bạn có thể đặt tên hàm tùy thích nhé). Sau đó móc hàm vừa vào action ‘init‘ để mỗi khi load website là nó tự động chạy hàm đó. Sau đây là một số thành phần có trong hàm tạo database.

  • Dòng 4: Get charset của database sau đó gán vào biến $charsetCollate, để tạo bảng mới cùng charset tổng thể của database.

  • Dòng 5: Đặt một biến $contactTable là tên của bảng cần tạo. $wpdb->prefix => Get prefix của database, mặt định của database là wp_

  • Từ dòng 6 đến dòng 15: Tạo biến $createContactTable là câu sql kiểm tra trong database có bảng đó chưa, nếu chưa có thì tiến hành tạo bảng mới. Với trường id là khóa chính, tự tăng.

  • Dòng 15: Iclude file hệ thống của wp, file này chứa nhiều thư viện giúp bạn tạo database. (Bạn cứ inlude vào ko cần quan tâm nhé)

  • Dòng 16: Sử dụng hàm dbDelta với biến $createContactTable được khai báo ở trên.

Xem kết quả:

Sau khi chèn đoạn có trên, bạn ra ngoài website và tiến hành reload lại trang và vào phpmyadmin xem kết quả, nếu xuất hiện bảng wp_contacts có nghĩa đoạn code trên đã chạy.

PreviousBài 2: Tạo bảng mới trong database WordPressNextTạo bảng mới với khóa ngoại

Last updated 1 year ago

Dòng 3: global $wpdb => lớp là lớp dùng để tương tác với database trong wordpress ( nói chung là cái này wordpress cung cấp sẵn để mình dùng 😀 )

$wpdb