Get_results trong WordPress là gì?

Việc sửa đổi cơ sở dữ liệu trong WordPress được thực hiện thông qua lớp ‘wpdb’. Lớp này được sử dụng để có thể tương tác với các bảng trong cơ sở dữ liệu mà trang web sử dụng, sử dụng đối tượng toàn cục $wpdb. Thông qua đó, chúng tôi có thể có toàn quyền truy cập vào cơ sở dữ liệu WordPress

Nói cách khác, lớp wpdb có thể giao tiếp với bất kỳ bảng hiện có nào trong cơ sở dữ liệu được gán cho trang web. Việc khởi tạo đối tượng toàn cầu $wpdb được thực hiện thông qua tệp ‘db. php’ trong thư mục ‘wp-content’

Khi chúng ta sử dụng các thao tác thêm, xóa, sửa nội dung trong cơ sở dữ liệu WordPress, chúng ta sẽ phải sử dụng hàm chuẩn bị () nhiều nhất có thể để bảo mật cho trang web. Thông qua chức năng này, chúng tôi có thể ngăn chặn các cuộc tấn công mà chúng tôi muốn tiêm một số mã sql không mong muốn

$wpdb sử dụng chức năng gì?


truy vấn () – thực thi một truy vấn SQL

//sintax:
$wpdb->query( "SELECT * FROM table_name" );

chuẩn bị () – chuẩn bị một truy vấn SQL ngăn chặn việc tiêm mã không an toàn

//sintax:
$wpdb->query( $wpdb->prepare( "SELECT * FROM table_name" ));

get_var() – lấy giá trị của một biến từ cơ sở dữ liệu

//sintax:
$wpdb->get_var( "SELECT col_name FROM table_name WHERE ID = 1" );

get_row() – lấy dưới dạng một mảng () các giá trị của một hàng trong bảng

//sintax:
$wpdb->get_row( "SELECT * FROM table_name WHERE ID = 1" );

get_col() – lấy dưới dạng một mảng() các giá trị trong cột của bảng

//sintax:
$wpdb->get_col( "SELECT col_name FROM table_name" );

get_results() – lấy các giá trị từ một bảng dưới dạng một mảng kết hợp ()

//sintax:
$wpdb->get_results( "SELECT * FROM table_name" );

insert() – chèn giá trị vào một hàng của bảng

//sintax:
$wpdb->insert( 'table_name', array( 'col_name' => 'value', 'cole_name2' => 'value'), array( '%s', '%s') );

update() – sửa đổi dữ liệu hiện có trong một bảng

//sintax:
$wpdb->update( 'table_name', array( 'col_name' => 'value'), array( 'ID' => 'value' ), array( '%s' ) );

xóa () – xóa hàng khỏi cơ sở dữ liệu

________số 8

show_errors() và print_errors()

//sintax:
$wpdb->show_errors(); 
$wpdb->print_error(); 

Ví dụ về việc sử dụng đối tượng toàn cầu $ wpdb thông qua plugin tùy chỉnh


Nếu bạn biết ngôn ngữ MySql thì chắc chắn bạn sẽ quen với việc sử dụng lớp này và bạn sẽ chỉ phải làm quen với một số chức năng mặc định của nền tảng WordPress

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách sử dụng đối tượng toàn cầu $ wpdb. Tiếp theo, chúng tôi sẽ tạo một plugin thông qua đó người dùng có thể tham gia một cuộc thi. Ngoài ra, chúng tôi, với tư cách là quản trị viên, sẽ đặt tất cả dữ liệu của những người đăng ký cuộc thi được hiển thị trong một trang mới, được tạo trong bảng điều khiển WordPress

Chúng tôi sẽ cấu trúc hướng dẫn trong một vài bước đơn giản

1. Tạo tập tin

Để bắt đầu chúng ta sẽ đăng nhập vào bảng cpanel theo đường dẫn ‘public_html/wp-content/plugins’ và chúng ta sẽ tạo một thư mục chứa module mới. Trong hướng dẫn này, chúng tôi sẽ gọi thư mục là 'test_DB'. Trong thư mục đã tạo, chúng tôi sẽ thêm hai tệp. mục lục. php và phong cách. css

Để WordPress đọc chỉ mục. php dưới dạng plugin, trước tiên chúng ta sẽ cần thêm tiêu đề cho nó. Nếu bạn muốn tìm hiểu thêm về tiêu đề trang của mô-đun, bạn có thể đọc bài viết này

//sintax:
$wpdb->query( $wpdb->prepare( "SELECT * FROM table_name" ));
0

Sau khi thêm tiêu đề này, chúng ta sẽ có thể thấy mô-đun mới trong trang 'plugin' của bảng điều khiển, như sau

Get_results trong WordPress là gì?
Get_results trong WordPress là gì?

Chúng tôi có thể chọn tùy chọn kích hoạt, nhưng hiện tại nó sẽ không làm gì cả vì tôi không nói gì trong tệp, ngoài việc tôi đã tạo tiêu đề để WordPress có thể hiểu tệp này là một plugin. Được rồi, bây giờ chúng ta có thể bắt đầu thêm các tính năng vào mô-đun

2. gán tệp CSS

Trước khi chúng tôi bắt đầu thêm chức năng cho phần Frontend hoặc Backend, trước tiên chúng tôi sẽ liên kết tệp CSS với trang chính của mô-đun, chỉ mục tương ứng. php sử dụng đoạn mã sau

//sintax:
$wpdb->query( $wpdb->prepare( "SELECT * FROM table_name" ));
1

Trong đoạn mã trên, chúng tôi đã sử dụng một hook (“admin_print_styles”) qua đó chúng tôi thêm một tệp CSS (style. css) thông qua hàm chúng ta đã tạo (“register_scripts2”). Bên trong chức năng đó, tôi đã sử dụng hai chức năng mặc định khác là “wp_register_style” và “wp_enqueue_style”. Các thông số của hai hàm này như sau

  • $parameter 1 = Tên biểu định kiểu. Nó phải là duy nhất
  • $parameter 2 = URL biểu định kiểu đầy đủ
  • $parameter 3 = Một ma trận các biểu định kiểu đã đăng ký xử lý biểu định kiểu này mà nó phụ thuộc vào, chúng tôi để trống không gian
  • $parameter 4 = Thưa ngài, chỉ định số phiên bản của tệp CSS, chúng tôi đã để lại dung lượng trống. Giá trị mặc định. sai
  • $parameter 5 = Giá trị trung bình mà biểu định kiểu này được xác định. Hỗ trợ các loại phương tiện như “tất cả”, “in” và “màn hình”

Chúng tôi sẽ kiểm tra mã này trong phần tiếp theo của bài viết, ngay sau khi chúng tôi đưa nội dung vào chỉ mục. tập tin php

3. Tạo các trang plugin trong menu bảng điều khiển WordPress

Để nhập dữ liệu vào cơ sở dữ liệu, chúng tôi sẽ sử dụng một biểu mẫu thông qua đó người dùng có thể tham gia cuộc thi. Tuy nhiên, trước khi nhập biểu mẫu này, chúng tôi sẽ thêm một vài trang cũng như trang con trong bảng điều khiển WordPress, từ đó chúng tôi sẽ có thể truy xuất thông tin từ cơ sở dữ liệu. Tiếp theo, chúng tôi sẽ sử dụng một hook khác có tên là ‘admin_menu’, qua đó chúng tôi sẽ tạo các trang và trang con trong menu bảng điều khiển. Hàm sẽ tạo trang này sẽ được đặt tên là my_menu_pages(), nhưng nó có thể có bất kỳ tên nào khác mà bạn muốn

//sintax:
$wpdb->query( $wpdb->prepare( "SELECT * FROM table_name" ));
2

Trong mã được hiển thị, chúng tôi sử dụng hai chức năng mặc định là add_menu_page () và add_submenu_page

Chức năng đầu tiên sẽ tạo một trang trong menu bảng điều khiển và chức năng thứ hai là một trang con. Trong ví dụ này, một trang mẹ đã được tạo, với 3 trang con

Get_results trong WordPress là gì?
Get_results trong WordPress là gì?

Tiếp theo, chúng tôi sẽ giải thích các tham số của từng chức năng

a. add_menu_page()

  • $page_title = Văn bản được hiển thị trong thẻ tiêu đề trang khi menu được chọn
  • $menu_title = Văn bản sử dụng cho menu
  • $dung lượng = Dung lượng cần thiết để menu này hiển thị cho người dùng
  • $menu_slug = Tên của slug đề cập đến menu này. Nó phải là duy nhất cho trang menu này và chỉ bao gồm các ký tự chữ và số viết thường, dấu gạch nối và dấu gạch dưới để tương thích với sanitize_key ()
  • $function = Hàm được gọi để hiển thị nội dung của trang này

b. add_submenu_page()

  • $parent_slug = Tên sên cho menu chính
  • $page_title = Văn bản được hiển thị trong thẻ tiêu đề trang khi menu được chọn
  • $menu_title = Văn bản sử dụng cho menu
  • $dung lượng = Dung lượng cần thiết để menu này hiển thị cho người dùng
  • $menu_slug = Tên của slug đề cập đến menu này. Nó phải là duy nhất cho menu này và chỉ bao gồm các ký tự chữ và số viết thường, dấu gạch nối và dấu gạch dưới để tương thích với sanitize_key ()

4. phong cách thử nghiệm. tập tin css

Để kiểm tra xem phong cách. css hoạt động tốt và được nhúng trong plugin của chúng tôi, chúng tôi sẽ tạo phụ đề H4 trên trang chính (trang mẹ được tạo trong bảng điều khiển) mà chúng tôi sẽ chỉ định một lớp có tên là 'tiêu đề trang'

//sintax:
$wpdb->query( $wpdb->prepare( "SELECT * FROM table_name" ));
3

theo phong cách. css, chúng tôi sẽ thử thêm màu vào phông chữ, để xem nó có hoạt động không

//sintax:
$wpdb->query( $wpdb->prepare( "SELECT * FROM table_name" ));
4

Bây giờ trang trông như thế này

Get_results trong WordPress là gì?
Get_results trong WordPress là gì?

Như bạn có thể thấy, nó hoạt động hoàn hảo

5. Tạo form nhập dữ liệu vào cơ sở dữ liệu

Điều đầu tiên chúng ta cần làm là tạo một form đăng ký người dùng cũng như một bảng trong cơ sở dữ liệu bằng cách sử dụng hàm form_frontend(). Trong chức năng này, chúng tôi sẽ nhập mã sau đây

//sintax:
$wpdb->query( $wpdb->prepare( "SELECT * FROM table_name" ));
5

Mã giải thích

  • Tùy thuộc vào biểu mẫu, form_frontend() được gọi là đối tượng toàn cục $wpdb
  • Chúng tôi đã tạo một biến $đối thủ cạnh tranh có giá trị mà chúng tôi đặt tên của bảng mà chúng tôi muốn tạo
  • Tôi đã yêu cầu kiểm tra trước nếu có một bảng có tên như vậy bằng cách sử dụng biến $check_table_query bằng hàm query()
  • Tôi đã yêu cầu rằng nếu bảng không tồn tại, nó sẽ được tạo tự động với các cột sau

1. Tôi

2. con số

3. e-mail

4. điện thoại

Điều rất quan trọng là phải đặt “PRIMARY KEY” vào cột “ID”. Do đó, nó sẽ là duy nhất cho mỗi hàng trong bảng

Cú pháp cơ bản mà chúng tôi sử dụng trong ví dụ này được biểu thị bằng hàm insert() mà qua đó chúng tôi nhập dữ liệu mới vào bảng đã chỉ định. Để bảo mật dữ liệu, chúng tôi sử dụng chức năng chuẩn bị () mặc định mà chúng tôi tự bảo vệ mình khỏi các mã được nhập vào cơ sở dữ liệu với mục đích đưa vào các mã khác với các mã thông thường, chẳng hạn như “chuỗi”, “số” hoặc “dữ liệu”. Để kiểm tra xem mã được viết có chính xác hay không, chúng tôi đã giới thiệu hàm if() có điều kiện thông qua đó chúng tôi sẽ gọi một cảnh báo JavaScript để cho chúng tôi biết liệu biểu mẫu có hoạt động hay không

Nếu chúng ta xem trong phần phpmyadmin của Cpanel, chúng ta sẽ có thể thấy bảng được tạo

Get_results trong WordPress là gì?
Get_results trong WordPress là gì?

6. Tạo biểu mẫu giao diện người dùng

Tiếp theo, chúng ta sẽ tạo biểu mẫu liên hệ

//sintax:
$wpdb->query( $wpdb->prepare( "SELECT * FROM table_name" ));
6

Điều cuối cùng chúng ta sẽ làm trong chức năng này là đặt dữ liệu do người dùng nhập vào sẽ được lưu trữ trong bảng đã tạo

//sintax:
$wpdb->query( $wpdb->prepare( "SELECT * FROM table_name" ));
7

7. Tạo mã ngắn

Khi chúng tôi đã tạo biểu mẫu, chúng tôi sẽ tạo một trang để nhập mã. Tất nhiên, chúng tôi sẽ thêm hàm add_shortcode() để chúng tôi có thể hiển thị biểu mẫu trong phần forntend. Để làm điều này, chúng tôi sẽ tạo một trang trực tiếp từ menu WordPress trong đó chúng tôi sẽ nhập mã. Nó sẽ trông giống thế này

//sintax:
$wpdb->query( $wpdb->prepare( "SELECT * FROM table_name" ));
8

Tạo một trang mới để giới thiệu

Get_results trong WordPress là gì?
Get_results trong WordPress là gì?

Sau khi lưu các thay đổi, kết quả sẽ là

Get_results trong WordPress là gì?
Get_results trong WordPress là gì?

Như tôi đã nói ở phần đầu của hướng dẫn, trước khi sử dụng hoặc sửa đổi cơ sở dữ liệu, chúng ta sẽ cần gọi đối tượng toàn cầu $wpdb, sau đó chúng ta có thể tạo một biến có giá trị là tên của bảng mà chúng ta muốn làm việc. Nếu bảng không tồn tại, chúng ta sẽ có thể tạo nó ngay lập tức sau khi xác minh sự tồn tại của nó thông qua hàm get_charset_collate(). Chúng ta thực hiện thêm cú pháp sql thông qua biến $table_create. Mã này sẽ không làm gì cho đến khi không có dữ liệu nào được yêu cầu nhập vào bảng. Do đó, để bảng này được tạo tự động, trước tiên chúng ta sẽ phải triển khai một biểu mẫu để nhập dữ liệu mới vào bảng đã tạo

Bây giờ chúng ta có thể test form bằng cách hoàn thành nhiều lần từ Frontend để xem dữ liệu đã được chèn vào bảng đã tạo và chèn chưa

Get_results trong WordPress là gì?
Get_results trong WordPress là gì?

8. Lấy dữ liệu từ cơ sở dữ liệu

Bây giờ chúng tôi đã tạo một biểu mẫu lưu trữ dữ liệu trong bảng, chúng tôi có thể thử mã hiển thị dữ liệu trong các trang 'con' của plugin mới

Tiếp theo, chúng ta sẽ tạo một hàm mới có tên là đối thủ cạnh tranh_display_page() (tham số thứ 5 của trang con đầu tiên được tạo bằng hàm mặc định add_submenu_page(). Như trên, trước tiên chúng ta sẽ gọi đối tượng toàn cục $wpdb và yêu cầu hiển thị một bảng HTML mà qua đó chúng ta sẽ lấy dữ liệu từ cơ sở dữ liệu, sử dụng hàm get_results()

//sintax:
$wpdb->query( $wpdb->prepare( "SELECT * FROM table_name" ));
9

Kết quả của mã sẽ được hiển thị trên trang 'Đối thủ cạnh tranh đã đăng ký'

Get_results trong WordPress là gì?
Get_results trong WordPress là gì?

9. Cách xóa hàng trong cơ sở dữ liệu

Tiếp theo chúng ta sẽ minh họa qua một biểu mẫu về cách xóa dữ liệu khỏi cơ sở dữ liệu bằng hàm delete()

//sintax:
$wpdb->get_var( "SELECT col_name FROM table_name WHERE ID = 1" );
0

Kết quả sẽ được hiển thị trên trang ‘Stergere concurenti’

Get_results trong WordPress là gì?
Get_results trong WordPress là gì?

10. Chọn một người chiến thắng

Chúng tôi sẽ sử dụng trang được tạo với tên 'Chọn người chiến thắng' để minh họa thêm cách bạn có thể yêu cầu một hàng từ bảng được tạo trong cơ sở dữ liệu, được chọn ngẫu nhiên bởi hàm PHP rand()

//sintax:
$wpdb->get_var( "SELECT col_name FROM table_name WHERE ID = 1" );
1

Kết quả của đoạn mã này sẽ được hiển thị thông qua hàm print_r() hàm này sẽ trả về một mảng kết hợp() với các tên cột và giá trị trong hàng đã chọn

Get_results trong WordPress là gì?
Get_results trong WordPress là gì?

Tôi hy vọng bạn thích hướng dẫn này và tôi mời bạn đăng ký để cập nhật các bài viết sau

$WPDB toàn cầu trong WordPress là gì?

WordPress cung cấp một đối tượng chung, $wpdb , đó là sự khởi tạo của lớp wpdb . Theo mặc định, $wpdb được khởi tạo để giao tiếp với cơ sở dữ liệu WordPress. Cách được đề xuất để truy cập $wpdb trong mã PHP WordPress của bạn là khai báo $wpdb làm biến toàn cục bằng cách sử dụng từ khóa toàn cầu, như thế này. Sao chép.

Array_a trong WordPress là gì?

ARRAY_A – kết quả sẽ được xuất ra dưới dạng một mảng được lập chỉ mục bằng số gồm các mảng kết hợp, sử dụng tên cột làm khóa . ARRAY_N – kết quả sẽ được xuất ra dưới dạng một mảng được lập chỉ mục bằng số của các mảng được lập chỉ mục bằng số.