Hướng dẫn insert, update, delete plugin in wordpress - chèn, cập nhật, xóa plugin trong wordpress

Chúng tôi sẽ giữ cho hành động biểu mẫu trống vì chúng tôi sẽ sử dụng cùng một trang để xử lý dữ liệu.

Bây giờ, hãy để thêm mã PHP để xử lý dữ liệu biểu mẫu. Hãy nhớ rằng chúng tôi đã sử dụng bài viết phương thức trong hình thức của chúng tôi.

if (isset($_POST['newsubmit'])) {$name = $_POST['newname'];$email = $_POST['newemail'];$wpdb->query("INSERT INTO $table_name(name,email) VALUES('$name','$email')");echo "";}

Chúng tôi vừa tạo một khối mã sẽ chỉ được thực thi khi biểu mẫu chèn của chúng tôi trong bước 4 được gửi.

Để chèn dữ liệu, chúng tôi sẽ chỉ sử dụng câu lệnh

add_action('admin_menu', 'addAdminPageContent');function addAdminPageContent() {add_menu_page('CRUD', 'CRUD', 'manage_options', __FILE__, 'crudAdminPage', 'dashicons-wordpress');}function crudAdminPage() {global $wpdb;$table_name = $wpdb->prefix . 'userstable';}
5 và nó sẽ được thực thi với việc sử dụng hàm
add_action('admin_menu', 'addAdminPageContent');function addAdminPageContent() {add_menu_page('CRUD', 'CRUD', 'manage_options', __FILE__, 'crudAdminPage', 'dashicons-wordpress');}function crudAdminPage() {global $wpdb;$table_name = $wpdb->prefix . 'userstable';}
6.

Dòng mã cuối cùng sẽ chỉ đảm bảo rằng nó tự động tải lại trang để chúng ta có thể thấy bản ghi mới được thêm vào trên bảng của chúng tôi.

Bước 5: Xả bảng HTML.

Bây giờ chúng tôi đã tạo ra một chức năng chèn, bây giờ chúng tôi có thể điền vào cơ sở dữ liệu với các bản ghi. Trước khi bạn tiến hành, hãy chắc chắn rằng bạn có ít nhất một (1) bản ghi để xem kết quả của bước này.

$result = $wpdb->get_results("SELECT * FROM $table_name");foreach ($result as $print) {echo "
";}?>

Chúng tôi sẽ tìm nạp các bản ghi từ cơ sở dữ liệu bằng hàm

add_action('admin_menu', 'addAdminPageContent');function addAdminPageContent() {add_menu_page('CRUD', 'CRUD', 'manage_options', __FILE__, 'crudAdminPage', 'dashicons-wordpress');}function crudAdminPage() {global $wpdb;$table_name = $wpdb->prefix . 'userstable';}
7, đây là chức năng thực thi câu lệnh CHỌN của chúng tôi và trả về các bản ghi dưới dạng mảng.

Để có được các giá trị mảng, chúng tôi đã sử dụng vòng lặp

add_action('admin_menu', 'addAdminPageContent');function addAdminPageContent() {add_menu_page('CRUD', 'CRUD', 'manage_options', __FILE__, 'crudAdminPage', 'dashicons-wordpress');}function crudAdminPage() {global $wpdb;$table_name = $wpdb->prefix . 'userstable';}
8 và trả lại một hàng cho bảng của chúng tôi cho mọi dữ liệu được tìm thấy trong cơ sở dữ liệu. Cột hành động cho mỗi bản ghi sẽ được cập nhật và xóa.

Bước này sẽ là chức năng đọc/chọn.

Bước 6: Tạo chức năng cập nhật.

Khi chúng tôi lấy dữ liệu từ cơ sở dữ liệu, chúng tôi đã tạo hai (2) nút trong cột Action. Một trong số đó là nút cập nhật hoạt động như một thẻ neo.

Nút này sẽ thêm ID của bản ghi mà chúng tôi sẽ chỉnh sửa.

if (isset($_GET['upt'])) {$upt_id = $_GET['up'];$result = $wpdb->get_results("SELECT * FROM $table_name WHERE user_id='$upt_id'");foreach($result as $print) {$name = $print->name;$email = $print->email;}echo "

Trong hướng dẫn này, chúng tôi sẽ học cách tạo plugin Operations CRUD trong WordPress.

Hướng dẫn này sẽ trình bày một plugin WordPress có thể thực hiện các thao tác CRUD (Tạo/Chèn, Đọc/Chọn, Cập nhật, Xóa).

Vì chúng tôi đang tạo một plugin tương tác với cơ sở dữ liệu, bạn có thể muốn đọc các hướng dẫn này (cách kết nối với cơ sở dữ liệu WordPress và cách chèn dữ liệu vào cơ sở dữ liệu WordPress) để hiểu rõ hơn về các hoạt động cơ sở dữ liệu trong WordPress.

Bước 1: Tạo bảng cơ sở dữ liệu.

Chúng tôi đang xử lý các hoạt động cơ sở dữ liệu CRUD để chúng tôi cần có bảng cơ sở dữ liệu để lưu trữ có thể lưu trữ dữ liệu.

register_activation_hook( __FILE__, 'crudOperationsTable');function crudOperationsTable() {global $wpdb;$charset_collate = $wpdb->get_charset_collate();$table_name = $wpdb->prefix . 'userstable';$sql = "CREATE TABLE `$table_name` (`user_id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(220) DEFAULT NULL,`email` varchar(220) DEFAULT NULL,PRIMARY KEY(user_id)) ENGINE=MyISAM DEFAULT CHARSET=latin1;";if ($wpdb->get_var("SHOW TABLES LIKE '$table_name'") != $table_name) {require_once(ABSPATH . 'wp-admin/includes/upgrade.php');dbDelta($sql);}}

Hàm register_activation_hook() sẽ đảm bảo rằng nó sẽ tự động tạo bảng cơ sở dữ liệu bằng cách sử dụng mã bên trong hàm ____10.

Truy vấn sẽ là một câu lệnh

add_action('admin_menu', 'addAdminPageContent');function addAdminPageContent() {add_menu_page('CRUD', 'CRUD', 'manage_options', __FILE__, 'crudAdminPage', 'dashicons-wordpress');}function crudAdminPage() {global $wpdb;$table_name = $wpdb->prefix . 'userstable';}
1 đơn giản để tạo bảng cơ sở dữ liệu.

Bạn có thể đọc hướng dẫn chi tiết về cách tạo bảng cơ sở dữ liệu khi plugin của bạn được kích hoạt.

Bước 2: Tạo một trang để hiển thị bảng.

Chúng tôi sẽ tạo một bảng HTML đơn giản để hiển thị các bản ghi mà chúng tôi có trong cơ sở dữ liệu.

Bạn có thể tạo bất kỳ trang nào bạn muốn cho dù trang ShortCode, trang quản trị viên hoặc thậm chí là trang Cài đặt nhưng trong hướng dẫn này, chúng tôi sẽ chỉ sử dụng trang quản trị viên.

add_action('admin_menu', 'addAdminPageContent');function addAdminPageContent() {add_menu_page('CRUD', 'CRUD', 'manage_options', __FILE__, 'crudAdminPage', 'dashicons-wordpress');}function crudAdminPage() {global $wpdb;$table_name = $wpdb->prefix . 'userstable';}

Add_action cùng với

add_action('admin_menu', 'addAdminPageContent');function addAdminPageContent() {add_menu_page('CRUD', 'CRUD', 'manage_options', __FILE__, 'crudAdminPage', 'dashicons-wordpress');}function crudAdminPage() {global $wpdb;$table_name = $wpdb->prefix . 'userstable';}
2 sẽ nối chức năng của chúng tôi với WordPress để chúng tôi có thể sử dụng chức năng này để viết mã của riêng mình.

Chúng tôi sẽ viết mã bên trong hàm

add_action('admin_menu', 'addAdminPageContent');function addAdminPageContent() {add_menu_page('CRUD', 'CRUD', 'manage_options', __FILE__, 'crudAdminPage', 'dashicons-wordpress');}function crudAdminPage() {global $wpdb;$table_name = $wpdb->prefix . 'userstable';}
3. Trong ví dụ này, chúng tôi đã thêm hai dòng mã mà chúng tôi cần tương tác với cơ sở dữ liệu.

Bước 3: Tạo bảng HTML.

CRUD Operations

User IDNameEmail AddressActions

Chúng tôi sẽ sử dụng các lớp WordPress CSS mặc định để thiết kế bảng của chúng tôi. Tuy nhiên, nếu bạn muốn thiết kế nó và sử dụng các khung như bootstrap hoặc tạo các lớp học của riêng bạn cũng sẽ ổn.

Trong bảng của chúng tôi sẽ có một ID người dùng, tên, địa chỉ email và cột hành động. Điều này gần giống như bảng mà chúng tôi đã tạo trong cơ sở dữ liệu ngoại trừ việc nó không có cột hành động.User ID, Name, Email Address and Actions column. This is almost the same as the table that we have created in the database except that it doesn’t have the actions column.

Bước 4: Tạo hàm tạo/chèn.

Trước khi chúng tôi có thể điền vào bảng HTML, chúng tôi cần có dữ liệu trong cơ sở dữ liệu để chúng tôi cần phải tạo hoặc chèn dữ liệu trước.

Bên trong thẻ

add_action('admin_menu', 'addAdminPageContent');function addAdminPageContent() {add_menu_page('CRUD', 'CRUD', 'manage_options', __FILE__, 'crudAdminPage', 'dashicons-wordpress');}function crudAdminPage() {global $wpdb;$table_name = $wpdb->prefix . 'userstable';}
4, chúng tôi sẽ chỉ tạo một hàng cho mẫu chèn của chúng tôi.

$print->user_id$print->name$print->email
User IDNameEmail AddressActions
$print->user_id
";}?>

Chúng tôi chỉ tạo một điều kiện nếu có sẵn

add_action('admin_menu', 'addAdminPageContent');function addAdminPageContent() {add_menu_page('CRUD', 'CRUD', 'manage_options', __FILE__, 'crudAdminPage', 'dashicons-wordpress');}function crudAdminPage() {global $wpdb;$table_name = $wpdb->prefix . 'userstable';}
9 được chỉnh sửa thì chúng tôi sẽ hiển thị một bảng chứa bản ghi mà chúng tôi sẽ chỉnh sửa.

Giống như trong hàm chèn, đây sẽ chỉ là một hình thức nhưng sự khác biệt duy nhất là nó đã chứa bản ghi trước đó sẵn sàng để được thay đổi/cập nhật.

Nó sẽ có hai (2) nút, nút đầu tiên sẽ là nút xác nhận sẽ gửi biểu mẫu nếu bạn muốn xác nhận các thay đổi và nút thứ hai là nút Hủy chỉ cần tải lại và xóa

add_action('admin_menu', 'addAdminPageContent');function addAdminPageContent() {add_menu_page('CRUD', 'CRUD', 'manage_options', __FILE__, 'crudAdminPage', 'dashicons-wordpress');}function crudAdminPage() {global $wpdb;$table_name = $wpdb->prefix . 'userstable';}
9 khỏi URL.

Chúng tôi cũng sẽ đặt hành động biểu mẫu thành trống và phương thức để đăng.

Bây giờ, chúng tôi sẽ thêm một mã khác để xử lý mẫu cập nhật của chúng tôi.

if (isset($_POST['uptsubmit'])) {$id = $_POST['uptid'];$name = $_POST['uptname'];$email = $_POST['uptemail'];$wpdb->query("UPDATE $table_name SET name='$name',email='$email' WHERE user_id='$id'");echo "";}

Mã này sẽ chỉ được thực thi nếu biểu mẫu cập nhật của chúng tôi được gửi.

Chúng tôi cũng sẽ sử dụng hàm

CRUD Operations

User IDNameEmail AddressActions
1 để thực thi câu lệnh

CRUD Operations

User IDNameEmail AddressActions
2 và dòng mã cuối cùng để tải lại trang để xem kết quả.

Bước 7: Tạo chức năng xóa.

Tương tự với chức năng cập nhật.Nút Xóa cũng sẽ thêm

add_action('admin_menu', 'addAdminPageContent');function addAdminPageContent() {add_menu_page('CRUD', 'CRUD', 'manage_options', __FILE__, 'crudAdminPage', 'dashicons-wordpress');}function crudAdminPage() {global $wpdb;$table_name = $wpdb->prefix . 'userstable';}
9 vào URL của bản ghi sẽ bị xóa.

if (isset($_GET['del'])) {$del_id = $_GET['del'];$wpdb->query("DELETE FROM $table_name WHERE user_id='$del_id'");echo "";}

Vì vậy, điều kiện cho chức năng xóa của chúng tôi sẽ được thực thi là khi nhấp vào nút Xóa và

add_action('admin_menu', 'addAdminPageContent');function addAdminPageContent() {add_menu_page('CRUD', 'CRUD', 'manage_options', __FILE__, 'crudAdminPage', 'dashicons-wordpress');}function crudAdminPage() {global $wpdb;$table_name = $wpdb->prefix . 'userstable';}
9 được phát hiện trong URL thì nó sẽ thực thi truy vấn xóa để xóa bản ghi khỏi cơ sở dữ liệu sau đó tải lại trang để xem kết quả.

Mã hoàn chỉnh: