
Dưới đây là mô tả chi tiết về các loại hàm Get, Set, Create, Insert, Update, Delete, Check, Action, Action Hook, Filter, Filter Hook, Sanitize, Validate, Retrieve, Escape trong WordPress, cùng với giải thích các chức năng của chúng và một số loại hàm khác có thể gặp trong WordPress.
1. Get#
Mô tả: Các hàm
Get
thường dùng để
lấy dữ liệu từ hệ thống hoặc cơ sở dữ liệu mà không thực hiện thay đổi gì. Những hàm này trả về giá trị mà bạn có thể xử lý hoặc hiển thị.
- Ví dụ:
get_the_content()
, get_the_title()
, get_the_author()
- Công dụng: Lấy thông tin từ bài viết, trang, hoặc các thành phần khác của WordPress để sử dụng trong mã của bạn.
2. Set#
Mô tả: Các hàm
Set
dùng để
thiết lập giá trị cho một trường hoặc biến nào đó. Chúng có thể thay đổi trạng thái hoặc thiết lập dữ liệu, nhưng không trả về giá trị.
- Ví dụ:
set_transient()
, set_post_thumbnail()
- Công dụng: Cập nhật hoặc thiết lập một giá trị nào đó trong hệ thống, như thiết lập giá trị cache hoặc ảnh đại diện cho bài viết.
3. Create#
Mô tả: Các hàm
Create
được sử dụng để
tạo mới các đối tượng trong hệ thống WordPress, ví dụ như tạo mới bài viết, trang, hay một bản ghi trong cơ sở dữ liệu.
- Ví dụ:
wp_insert_post()
, wp_create_user()
- Công dụng: Tạo mới bài viết, người dùng, hoặc các đối tượng khác trong WordPress.
4. Insert#
Mô tả: Các hàm
Insert
dùng để
thêm dữ liệu vào cơ sở dữ liệu. Chúng giúp thêm các đối tượng hoặc giá trị mới vào bảng cơ sở dữ liệu WordPress.
- Ví dụ:
$wpdb->insert()
, wp_insert_term()
- Công dụng: Thêm dữ liệu mới vào các bảng của WordPress, ví dụ như thêm một mục vào bảng bài viết, thẻ, danh mục, hoặc một đối tượng tùy chỉnh.
5. Update#
Mô tả: Các hàm
Update
được sử dụng để
cập nhật thông tin của các đối tượng hoặc dữ liệu trong hệ thống WordPress.
- Ví dụ:
wp_update_post()
, update_post_meta()
- Công dụng: Cập nhật bài viết, trường tùy chỉnh (custom fields), hoặc bất kỳ thông tin nào trong cơ sở dữ liệu.
6. Delete#
Mô tả: Các hàm
Delete
được sử dụng để
xóa bỏ đối tượng hoặc dữ liệu khỏi cơ sở dữ liệu của WordPress.
- Ví dụ:
wp_delete_post()
, delete_post_meta()
- Công dụng: Xóa bài viết, thẻ, hoặc các đối tượng dữ liệu khác trong WordPress.
7. Check#
Mô tả: Các hàm
Check
kiểm tra một điều kiện hoặc trạng thái nào đó trong hệ thống. Những hàm này trả về giá trị boolean (
true
/
false
) tùy vào việc điều kiện có thỏa mãn hay không.
- Ví dụ:
has_post_thumbnail()
, current_user_can()
- Công dụng: Kiểm tra điều kiện, ví dụ như kiểm tra xem bài viết có ảnh đại diện không, người dùng có quyền truy cập vào tài nguyên nào đó không.
8. Action#
Mô tả: Các hàm
Action
là những hành động được thực thi trong WordPress tại một thời điểm cụ thể, chẳng hạn như khi một sự kiện xảy ra (ví dụ: sau khi bài viết được lưu, khi người dùng đăng nhập).
- Ví dụ:
the_content()
, wp_footer()
- Công dụng: Thực thi hành động mà không trả về giá trị, như hiển thị nội dung hoặc chèn mã HTML vào chân trang.
9. Action Hook#
Mô tả:
Action Hook là điểm trong mã của WordPress nơi các lập trình viên có thể
đăng ký hàm của họ để thực thi khi một sự kiện cụ thể xảy ra. Các hooks này cho phép mở rộng hoặc thay đổi hành vi của WordPress mà không cần sửa mã nguồn gốc.
- Ví dụ:
add_action('save_post', 'my_save_post_function');
- Công dụng: Đăng ký các hàm callback để thực thi tại các điểm cụ thể trong hệ thống WordPress, như khi một bài viết được lưu lại.
10. Filter#
Mô tả: Các hàm
Filter
được sử dụng để
lọc hoặc thay đổi dữ liệu trước khi nó được sử dụng hoặc hiển thị. Các filter có thể thay đổi các giá trị của dữ liệu, như nội dung bài viết, tiêu đề, hoặc URL.
- Ví dụ:
the_content()
, the_title()
- Công dụng: Lọc và thay đổi dữ liệu trước khi nó được hiển thị, ví dụ như thay đổi nội dung bài viết hoặc tiêu đề.
11. Filter Hook#
Mô tả:
Filter Hook là một điểm trong quá trình xử lý của WordPress mà các lập trình viên có thể
đăng ký các hàm callback của mình để thay đổi hoặc lọc dữ liệu trước khi nó được trả về hoặc hiển thị.
- Ví dụ:
add_filter('the_content', 'my_content_filter_function');
- Công dụng: Đăng ký các hàm callback để thay đổi dữ liệu trước khi nó được sử dụng trong WordPress.
12. Sanitize#
Mô tả: Các hàm
Sanitize
được sử dụng để
làm sạch và bảo vệ dữ liệu đầu vào, đảm bảo rằng dữ liệu không chứa các mã độc hoặc lỗi, và có thể lưu trữ an toàn trong cơ sở dữ liệu hoặc hiển thị trên giao diện.
- Ví dụ:
sanitize_text_field()
, sanitize_email()
- Công dụng: Làm sạch dữ liệu trước khi lưu vào cơ sở dữ liệu hoặc hiển thị ra giao diện, đảm bảo tính an toàn và hợp lệ của dữ liệu.
13. Validate#
Mô tả: Các hàm kiểm tra tính hợp lệ của dữ liệu trước khi sử dụng, đảm bảo rằng dữ liệu đáp ứng yêu cầu cụ thể về cú pháp hoặc loại dữ liệu.
- Ví dụ:
is_email()
, is_numeric()
14. Retrieve#
Mô tả: Các hàm lấy thông tin từ cơ sở dữ liệu nhưng không thay đổi gì, tương tự như Get, nhưng đôi khi có thể liên quan đến việc lấy dữ liệu từ các nguồn bên ngoài hoặc plugin.
- Ví dụ:
get_post_meta()
, get_option()
15. Escape#
Mô tả: Các hàm này thoát dữ liệu trước khi lưu vào cơ sở dữ liệu hoặc hiển thị trên giao diện người dùng, giúp tránh các lỗi bảo mật như SQL injection và Cross-site Scripting (XSS).
- Ví dụ:
esc_html()
, esc_attr()
Tóm tắt các loại hàm trong WordPress:#
Loại Hàm |
Mô Tả |
Ví Dụ |
Get |
Lấy dữ liệu từ hệ thống, không thay đổi gì. |
get_the_content() , get_the_title() |
Set |
Thiết lập giá trị cho đối tượng hoặc biến. |
set_post_thumbnail() , set_transient() |
Create |
Tạo mới các đối tượng, dữ liệu. |
wp_insert_post() , wp_create_user() |
Insert |
Thêm dữ liệu vào cơ sở dữ liệu. |
$wpdb->insert() , wp_insert_term() |
Update |
Cập nhật dữ liệu trong hệ thống hoặc cơ sở dữ liệu. |
wp_update_post() , update_post_meta() |
Delete |
Xóa đối tượng hoặc dữ liệu khỏi cơ sở dữ liệu. |
wp_delete_post() , delete_post_meta() |
Check |
Kiểm tra điều kiện, trả về giá trị boolean. |
has_post_thumbnail() , current_user_can() |
Action |
Thực hiện hành động trong hệ thống. |
the_content() , wp_footer() |
Action Hook |
Điểm can thiệp để đăng ký hàm callback khi action xảy ra. |
add_action('save_post', 'my_function') |
Filter |
Lọc và thay đổi dữ liệu trước khi sử dụng. |
the_content() , the_title() |
Filter Hook |
Điểm can thiệp để đăng ký hàm callback để lọc dữ liệu. |
add_filter('the_content', 'my_filter_function') |
Sanitize |
Làm sạch dữ liệu đầu vào trước khi sử dụng. |
sanitize_text_field() , sanitize_email() |
Retrieve |
Lấy dữ liệu từ cơ sở dữ liệu hoặc nguồn ngoài mà không thay đổi. |
get_post_meta() , get_option() |
Escape |
Thoát dữ liệu để bảo vệ khỏi lỗi bảo mật. |
esc_html() , esc_attr() |
Validate |
Kiểm tra tính hợp lệ của dữ liệu. |
is_email() , is_numeric() |
WordPress sử dụng nhiều loại hàm này để hỗ trợ việc mở rộng và tùy chỉnh hệ thống, giúp bạn có thể thực hiện các thao tác cần thiết một cách dễ dàng và an toàn.
Check và Validate có giống nhau không ?#
Mặc dù các hàm
Check và
Validate trong WordPress có vẻ giống nhau vì đều dùng để kiểm tra dữ liệu, nhưng thực tế chúng có sự khác biệt rõ rệt về mục đích và cách thức hoạt động.
1. Check (Kiểm tra)
- Mục đích: Các hàm "Check" trong WordPress thường được sử dụng để kiểm tra trạng thái hoặc điều kiện của một cái gì đó trong hệ thống. Chúng trả về giá trị boolean (
true
hoặc false
) dựa trên việc điều kiện có đúng hay không.
- Sử dụng: Chúng chỉ kiểm tra một trạng thái cụ thể mà không thay đổi hay tác động gì đến dữ liệu. Các hàm check có thể xác minh điều kiện có hay không, ví dụ như kiểm tra quyền người dùng, sự tồn tại của một bài viết, v.v.
- Ví dụ:
has_post_thumbnail()
: Kiểm tra xem bài viết có ảnh đại diện không.
current_user_can()
: Kiểm tra xem người dùng hiện tại có quyền thực hiện hành động không.
2. Validate (Kiểm tra tính hợp lệ)
- Mục đích: Các hàm "Validate" dùng để kiểm tra tính hợp lệ của dữ liệu, đảm bảo rằng dữ liệu nhập vào (hoặc được cung cấp) phù hợp với định dạng hoặc yêu cầu nhất định. Chúng có thể kiểm tra xem dữ liệu có đáp ứng đúng loại dữ liệu yêu cầu không (ví dụ như số, email, URL).
- Sử dụng: Các hàm validate thường được dùng để đảm bảo dữ liệu đầu vào hợp lệ trước khi lưu vào cơ sở dữ liệu hoặc sử dụng trong các tính toán tiếp theo.
- Ví dụ:
is_email()
: Kiểm tra xem một chuỗi có phải là email hợp lệ không.
is_numeric()
: Kiểm tra xem giá trị có phải là một số hợp lệ không.
Sự khác biệt giữa Check và Validate:
Khía cạnh |
Check |
Validate |
Mục đích |
Kiểm tra điều kiện hoặc trạng thái có tồn tại hay không. |
Kiểm tra tính hợp lệ của dữ liệu đầu vào. |
Kết quả |
Trả về giá trị boolean (true/false). |
Trả về giá trị boolean hoặc thông báo lỗi nếu không hợp lệ. |
Sử dụng |
Kiểm tra các điều kiện trong hệ thống (ví dụ: quyền người dùng, bài viết có ảnh đại diện). |
Kiểm tra dữ liệu đầu vào trước khi lưu trữ hoặc sử dụng (ví dụ: email hợp lệ, số hợp lệ). |
Ví dụ |
has_post_thumbnail() , current_user_can() |
is_email() , is_numeric() |
Tóm lại:
- Check được sử dụng để xác minh một điều kiện hay trạng thái cụ thể trong hệ thống (ví dụ: quyền truy cập của người dùng, sự tồn tại của một bài viết).
- Validate kiểm tra xem dữ liệu có hợp lệ và đáp ứng các tiêu chuẩn yêu cầu không (ví dụ: kiểm tra xem chuỗi có phải là một địa chỉ email hợp lệ hay không).
Vì vậy, mặc dù có điểm tương đồng về việc kiểm tra, nhưng
Check chủ yếu dùng để xác minh trạng thái, còn
Validate là kiểm tra tính hợp lệ của dữ liệu đầu vào.
So sánh giữa Action và Action Hook, Filter và Filter Hook trong WordPress#
Trong WordPress,
Action và
Filter đều là cơ chế để can thiệp vào các quá trình của hệ thống, nhưng chúng có cách thức hoạt động và mục đích khác nhau. Các khái niệm
Action Hook và
Filter Hook là những cơ chế dùng để đăng ký các
hàm callback vào các điểm cụ thể trong quá trình thực thi của WordPress.
1. Action vs. Action Hook
Tiêu chí |
Action |
Action Hook |
Mô tả |
Một Action là một hành động được thực thi tại một thời điểm cụ thể trong vòng đời của WordPress (ví dụ: sau khi một bài viết được lưu, khi người dùng đăng nhập). |
Action Hook là một điểm trong hệ thống mà các lập trình viên có thể đăng ký các hàm của họ để được gọi khi action đó xảy ra. |
Công dụng |
Được dùng để thực thi các hành động, ví dụ như gửi email, ghi log, thay đổi dữ liệu khi một sự kiện xảy ra. |
Action Hook là nơi bạn đăng ký các hàm mà bạn muốn thực thi khi action xảy ra. |
Ví dụ |
the_content() , wp_footer() , save_post() |
add_action('save_post', 'my_save_post_function'); |
Tính chất |
Action sẽ tự động được gọi và không trả về giá trị. |
Action Hook cung cấp các điểm cụ thể để can thiệp vào quá trình thực thi của WordPress. |
Cách thức hoạt động |
Khi hành động (action) được gọi, WordPress sẽ thực thi các hàm đã được đăng ký qua hook. |
Action Hook cho phép bạn đăng ký một hàm callback để thực thi khi action đó xảy ra. |
2. Filter vs. Filter Hook
Tiêu chí |
Filter |
Filter Hook |
Mô tả |
Filter là một cơ chế cho phép bạn chỉnh sửa hoặc lọc dữ liệu trước khi nó được sử dụng hoặc hiển thị (ví dụ: thay đổi nội dung của bài viết, hoặc thay đổi một URL). |
Filter Hook là một điểm trong quá trình xử lý của WordPress mà bạn có thể đăng ký các hàm callback để thay đổi hoặc lọc dữ liệu trước khi nó được trả về. |
Công dụng |
Được sử dụng để thay đổi hoặc chỉnh sửa dữ liệu. Ví dụ, bạn có thể thay đổi nội dung bài viết trước khi nó hiển thị trên trang web. |
Filter Hook cho phép bạn thay đổi dữ liệu trong quá trình xử lý mà không ảnh hưởng đến hệ thống WordPress nói chung. |
Ví dụ |
the_content() , the_title() , widget_text() |
add_filter('the_content', 'my_content_filter_function'); |
Tính chất |
Filters cho phép bạn thay đổi giá trị của dữ liệu trước khi hiển thị, ví dụ như thay đổi nội dung bài viết. |
Filter Hook cho phép bạn thay đổi hoặc lọc dữ liệu, không thực hiện hành động. |
Cách thức hoạt động |
Khi filter được áp dụng, WordPress sẽ gọi các hàm đã đăng ký với filter hook để thay đổi giá trị của dữ liệu. |
Filter Hook cho phép bạn thay đổi dữ liệu bằng cách đăng ký hàm callback để lọc hoặc thay đổi dữ liệu trước khi nó được sử dụng. |
Tóm tắt So sánh Action, Action Hook, Filter, và Filter Hook
Tiêu chí |
Action |
Action Hook |
Filter |
Filter Hook |
Mô tả |
Thực thi hành động tại một thời điểm cụ thể. |
Đăng ký hàm để thực thi khi Action xảy ra. |
Lọc và thay đổi dữ liệu trước khi sử dụng. |
Đăng ký hàm để lọc và thay đổi dữ liệu. |
Công dụng |
Thực hiện hành động sau khi một sự kiện xảy ra. |
Đăng ký hàm callback để thực hiện hành động. |
Thay đổi hoặc chỉnh sửa dữ liệu trước khi hiển thị. |
Đăng ký hàm callback để thay đổi dữ liệu. |
Ví dụ |
the_content() , wp_footer() |
add_action('save_post', 'my_save_function'); |
the_content() , the_title() |
add_filter('the_content', 'my_content_filter'); |
Tính chất |
Không trả về giá trị, chỉ thực thi hành động. |
Cung cấp điểm can thiệp để thực thi các hành động. |
Thay đổi dữ liệu và trả về giá trị đã thay đổi. |
Cung cấp điểm can thiệp để lọc và thay đổi dữ liệu. |
Kết quả |
Thực thi hành động mà không trả về giá trị. |
Thực thi các hàm đã đăng ký khi action xảy ra. |
Thay đổi dữ liệu và trả về kết quả đã lọc. |
Thay đổi dữ liệu và trả về giá trị đã thay đổi. |
Tóm tắt
- Action là hành động được thực thi tại một thời điểm nhất định, còn Action Hook là điểm can thiệp mà bạn có thể đăng ký một hàm callback để thực thi khi hành động đó xảy ra.
- Filter là cơ chế để thay đổi hoặc lọc dữ liệu trước khi sử dụng, còn Filter Hook là điểm để bạn có thể đăng ký các hàm callback nhằm thay đổi dữ liệu đó trước khi nó được sử dụng hoặc hiển thị.
Cả
Action và
Filter đều là cơ chế mạnh mẽ trong WordPress giúp bạn tùy chỉnh và mở rộng chức năng của hệ thống mà không cần thay đổi mã nguồn gốc.
Các Hàm the_* và get_the_* trong WordPress#
Trong WordPress, các hàm
the_*
và
get_the_*
là những công cụ cực kỳ hữu ích giúp bạn lấy và hiển thị thông tin về bài viết, trang, và các đối tượng khác trong hệ thống. Những hàm này giúp bạn dễ dàng truy xuất dữ liệu từ cơ sở dữ liệu và hiển thị chúng trên giao diện người dùng của trang web. Tuy nhiên, chúng có sự khác biệt rõ ràng trong cách thức hoạt động, và trong bài viết này, chúng ta sẽ cùng tìm hiểu kỹ hơn về các hàm này, cách sử dụng và các tham số liên quan.
1. Hàm the_*
: Hiển thị Dữ Liệu Trực Tiếp
Các hàm
the_*
được sử dụng để
hiển thị trực tiếp dữ liệu trong giao diện người dùng của WordPress. Khi bạn gọi một trong những hàm này trong template file, nó sẽ tự động xuất dữ liệu ra trình duyệt mà không cần phải thêm bất kỳ mã HTML nào.
Các Hàm the_*
Cơ Bản:
the_content()
: Hiển thị nội dung bài viết đã qua các filter và xử lý shortcode. Đây là một trong những hàm được sử dụng nhiều nhất trong WordPress, bởi vì nó giúp hiển thị nội dung bài viết trong các trang đơn.
the_title()
: Hàm này hiển thị tiêu đề của bài viết hoặc trang. Thông thường, nó được sử dụng trong vòng lặp để hiển thị tiêu đề bài viết trên trang danh sách hoặc trang đơn.
the_excerpt()
: Hàm này hiển thị đoạn trích của bài viết. WordPress sẽ tự động tạo một đoạn trích từ nội dung của bài viết, hoặc bạn có thể viết đoạn trích thủ công.
the_permalink()
: Hiển thị liên kết tĩnh tới bài viết hoặc trang hiện tại. Hàm này rất hữu ích khi bạn muốn tạo liên kết đến một bài viết mà không cần phải viết URL thủ công.
the_author()
: Hiển thị tên tác giả của bài viết. Thường được sử dụng để hiển thị tên người viết bài trong bài viết hoặc trang.
the_date()
: Hàm này hiển thị ngày đăng bài viết, có thể tùy chỉnh định dạng ngày tháng. Đây là một cách đơn giản để hiển thị thông tin ngày tháng của bài viết.
the_category()
: Hiển thị danh sách các danh mục mà bài viết thuộc về. Hàm này thường dùng trong các trang bài viết để giúp người đọc biết được bài viết thuộc danh mục nào.
the_tags()
: Hiển thị các thẻ (tags) của bài viết. Thẻ giúp người đọc tìm thấy các bài viết liên quan với nhau thông qua các từ khóa.
the_time()
: Hiển thị thời gian đăng bài viết. Hàm này sẽ hiển thị thời gian bài viết được xuất bản.
the_modified_time()
: Hiển thị thời gian sửa đổi bài viết lần cuối. Điều này giúp người đọc biết được bài viết có được cập nhật mới nhất hay không.
the_post_thumbnail()
: Hiển thị ảnh đại diện của bài viết nếu có. Hàm này rất quan trọng trong các giao diện hiện đại, nơi ảnh đại diện giúp bài viết trở nên bắt mắt hơn.
the_author_meta()
: Hàm này giúp bạn hiển thị các thông tin liên quan đến tác giả bài viết, như tên, mô tả, và URL của tác giả.
the_custom_logo()
: Hiển thị logo tùy chỉnh cho trang web. Đây là một tính năng phổ biến trong WordPress, cho phép bạn thay đổi logo của trang web thông qua Customizer.
the_comment_count()
: Hàm này hiển thị số lượng bình luận của bài viết. Thông tin này rất hữu ích trong việc thể hiện sự tương tác của bài viết với độc giả.
the_nav_menu()
: Hàm này hiển thị menu điều hướng tùy chỉnh, giúp bạn tạo các menu điều hướng dễ dàng trên trang web.
2. Hàm get_the_*
: Trả Về Dữ Liệu Để Xử Lý Thêm
Các hàm
get_the_*
giống với các hàm
the_*
, nhưng thay vì hiển thị trực tiếp dữ liệu, chúng
trả về giá trị để bạn có thể xử lý thêm hoặc sử dụng trong các tình huống khác nhau. Bạn có thể sử dụng giá trị trả về từ các hàm này trong các phép toán, lưu trữ vào biến, hoặc kết hợp với các phần tử khác trong trang web.
Các Hàm get_the_*
Cơ Bản:
get_the_content()
: Lấy nội dung bài viết thô, chưa qua xử lý filter hoặc shortcode. Bạn có thể dùng hàm này khi cần lấy nội dung bài viết để xử lý thêm trước khi hiển thị.
get_the_title()
: Lấy tiêu đề bài viết hoặc trang. Thường được sử dụng khi bạn cần lấy tiêu đề để xử lý, chẳng hạn như hiển thị trong các phần tử HTML tùy chỉnh.
get_the_excerpt()
: Lấy đoạn trích của bài viết, giúp bạn có thể sử dụng đoạn trích này ở bất kỳ đâu mà không cần phải hiển thị đoạn trích mặc định của WordPress.
get_the_permalink()
: Lấy liên kết tĩnh của bài viết hoặc trang, giúp bạn tạo các liên kết tùy chỉnh tới bài viết.
get_the_author()
: Lấy tên tác giả của bài viết. Đây là một hàm rất hữu ích khi bạn cần sử dụng tên tác giả trong các phần tử khác ngoài bài viết, như trong các trang danh mục.
get_the_date()
: Lấy ngày đăng bài viết với định dạng tùy chỉnh. Bạn có thể sử dụng hàm này khi cần lấy thông tin ngày tháng để xử lý thêm.
get_the_category()
: Lấy danh sách các danh mục của bài viết dưới dạng mảng. Hàm này giúp bạn xử lý các danh mục bài viết và hiển thị chúng theo cách bạn muốn.
get_the_tags()
: Lấy danh sách các thẻ của bài viết dưới dạng mảng. Bạn có thể sử dụng mảng này để tạo các liên kết thẻ tùy chỉnh.
get_the_time()
: Lấy thời gian đăng bài viết theo định dạng tùy chỉnh. Thông tin thời gian có thể được sử dụng trong các báo cáo hoặc thống kê.
get_the_modified_time()
: Lấy thời gian sửa đổi bài viết lần cuối. Thông tin này hữu ích khi bạn cần xử lý các bài viết đã được cập nhật.
get_post_thumbnail_id()
: Lấy ID của ảnh đại diện bài viết. Bạn có thể sử dụng ID này để lấy ảnh đại diện từ cơ sở dữ liệu hoặc làm việc với các API.
get_post_meta()
: Lấy giá trị metadata (dữ liệu tùy chỉnh) của bài viết. Đây là một trong những cách cơ bản để lưu trữ và lấy thông tin tùy chỉnh cho bài viết.
get_comment_count()
: Lấy số lượng bình luận của bài viết. Dữ liệu này có thể được sử dụng trong các thống kê hoặc hiển thị riêng biệt.
3. So Sánh Các Hàm the_*
và get_the_*
Hàm |
Chức năng |
Tham số |
the_content() |
Hiển thị nội dung bài viết, đã qua filter và xử lý shortcode. |
Không có tham số |
get_the_content() |
Lấy nội dung bài viết thô, chưa qua filter và shortcode. |
Không có tham số |
the_title() |
Hiển thị tiêu đề của bài viết hoặc trang. |
Không có tham số |
get_the_title() |
Lấy tiêu đề bài viết hoặc trang. |
Không có tham số |
the_excerpt() |
Hiển thị đoạn trích (excerpt) của bài viết. |
Không có tham số |
get_the_excerpt() |
Lấy đoạn trích của bài viết. |
Không có tham số |
the_permalink() |
Hiển thị liên kết tĩnh đến bài viết hoặc trang. |
Không có tham số |
get_the_permalink() |
Lấy liên kết tĩnh của bài viết hoặc trang. |
Không có tham số |
the_author() |
Hiển thị tên tác giả của bài viết. |
Không có tham số |
get_the_author() |
Lấy tên tác giả của bài viết. |
Không có tham số |
the_date() |
Hiển thị ngày đăng bài viết (theo định dạng mặc định hoặc tùy chỉnh). |
format (string, định dạng ngày tháng) |
get_the_date() |
Lấy ngày đăng bài viết (theo định dạng mặc định hoặc tùy chỉnh). |
format (string, định dạng ngày tháng) |
the_category() |
Hiển thị danh sách các danh mục mà bài viết thuộc về. |
Không có tham số |
get_the_category() |
Lấy danh sách các danh mục của bài viết (trả về mảng). |
Không có tham số |
the_tags() |
Hiển thị các thẻ (tags) của bài viết. |
Không có tham số |
get_the_tags() |
Lấy danh sách các thẻ của bài viết (trả về mảng). |
Không có tham số |
the_time() |
Hiển thị thời gian đăng bài viết. |
Không có tham số |
get_the_time() |
Lấy thời gian đăng bài viết (theo định dạng mặc định hoặc tùy chỉnh). |
format (string, định dạng thời gian) |
the_modified_time() |
Hiển thị thời gian sửa đổi bài viết lần cuối. |
Không có tham số |
get_the_modified_time() |
Lấy thời gian sửa đổi bài viết lần cuối. |
format (string, định dạng thời gian) |
the_post_thumbnail() |
Hiển thị ảnh đại diện của bài viết (nếu có). |
size (string hoặc mảng kích thước ảnh) |
get_post_thumbnail_id() |
Lấy ID của ảnh đại diện của bài viết. |
Không có tham số |
get_post_meta() |
Lấy giá trị metadata (dữ liệu tùy chỉnh) của bài viết. |
$key (string, tên trường metadata), $single (bool, lấy một hay nhiều giá trị) |
the_author_meta() |
Hiển thị thông tin tác giả (tên, mô tả, URL của tác giả). |
$field (string, trường dữ liệu của tác giả, ví dụ: "display_name", "user_email") |
get_the_author_meta() |
Lấy thông tin tác giả của bài viết (tên, mô tả, URL của tác giả). |
$field (string, trường dữ liệu của tác giả, ví dụ: "display_name", "user_email") |
the_custom_logo() |
Hiển thị logo tùy chỉnh cho trang web nếu đã được thiết lập. |
Không có tham số |
get_the_custom_logo() |
Lấy HTML của logo tùy chỉnh cho trang web nếu đã được thiết lập. |
Không có tham số |
the_comment_count() |
Hiển thị số lượng bình luận cho bài viết. |
Không có tham số |
get_comment_count() |
Lấy số lượng bình luận cho bài viết. |
Không có tham số |
the_nav_menu() |
Hiển thị menu điều hướng tùy chỉnh. |
theme_location (string, tên của menu) |
get_the_ID() |
Lấy ID của bài viết hoặc trang hiện tại. |
Không có tham số |
get_the_post_navigation() |
Lấy điều hướng giữa các bài viết (next/previous post). |
Không có tham số |
get_the_advanced_custom_fields() |
Lấy các trường tùy chỉnh nâng cao (ACF) cho bài viết hoặc trang. |
Không có tham số |
get_the_comments_number() |
Lấy số lượng bình luận của bài viết. |
Không có tham số |
Kết Luận
Việc hiểu rõ sự khác biệt giữa các hàm
the_*
và
get_the_*
trong WordPress là rất quan trọng đối với việc phát triển và tùy chỉnh theme, plugin trong WordPress. Nếu bạn chỉ cần hiển thị dữ liệu đơn giản trong giao diện người dùng, các hàm
the_*
là lựa chọn lý tưởng. Tuy nhiên, nếu bạn cần xử lý hoặc tùy chỉnh dữ liệu trước khi hiển thị, thì các hàm
get_the_*
sẽ giúp bạn thực hiện điều đó một cách linh hoạt và hiệu quả.
Các loại hàm wp_*#
Các hàm bắt đầu bằng
wp_
trong WordPress thường thuộc nhiều loại khác nhau dựa trên chức năng mà chúng thực hiện. Các hàm này bao gồm các thao tác như
Get,
Set,
Create,
Update,
Delete,
Check,
Action,
Sanitize,
Validate,
Escape, và nhiều loại khác. Dưới đây là chi tiết về các loại và danh sách các hàm phổ biến thuộc tiền tố
wp_
.
Phân loại các hàm wp_*
:
Loại |
Mô tả |
Ví dụ hàm wp_* |
Get |
Lấy dữ liệu từ cơ sở dữ liệu hoặc hệ thống. |
wp_get_post_categories() , wp_get_attachment_url() , wp_get_current_user() |
Set |
Gán giá trị hoặc cấu hình thông số. |
wp_set_post_categories() , wp_set_object_terms() |
Create |
Tạo mới một đối tượng (bài viết, người dùng, menu, v.v.). |
wp_insert_post() , wp_create_user() , wp_create_nav_menu() |
Update |
Cập nhật dữ liệu hiện có. |
wp_update_post() , wp_update_user() , wp_update_nav_menu_item() |
Delete |
Xóa một đối tượng hoặc dữ liệu. |
wp_delete_post() , wp_delete_user() , wp_delete_attachment() |
Check |
Kiểm tra điều kiện hoặc trạng thái trong WordPress. |
wp_verify_nonce() , wp_is_mobile() , wp_doing_cron() |
Action |
Thực hiện hành động cụ thể như enqueue script, gửi email, xuất nội dung. |
wp_enqueue_script() , wp_mail() , wp_logout() |
Sanitize |
Làm sạch dữ liệu trước khi lưu hoặc sử dụng. |
wp_kses() , wp_strip_all_tags() , wp_kses_post() |
Validate |
Kiểm tra tính hợp lệ của dữ liệu. |
wp_validate_redirect() , wp_validate_auth_cookie() |
Escape |
Thoát dữ liệu để đảm bảo an toàn khi hiển thị. |
wp_kses() , wp_nonce_url() , wp_kses_allowed_html() |
Filter Hook |
Cung cấp hook cho phép thay đổi dữ liệu hoặc nội dung. |
wp_filter() |
Action Hook |
Cung cấp hook cho phép chèn các hành động vào một điểm nhất định. |
wp_hook() |
Danh sách các hàm wp_*
:
Dưới đây là danh sách tổng hợp các hàm
wp_*
, được sắp xếp theo chức năng chính.
1. Hàm liên quan đến bài viết và taxonomy
wp_get_post_categories()
wp_set_post_categories()
wp_insert_post()
wp_update_post()
wp_delete_post()
wp_get_object_terms()
wp_set_object_terms()
wp_delete_object_term_relationships()
2. Hàm liên quan đến người dùng
wp_create_user()
wp_update_user()
wp_delete_user()
wp_get_current_user()
wp_logout()
wp_signon()
3. Hàm liên quan đến file và media
wp_get_attachment_url()
wp_handle_upload()
wp_delete_attachment()
wp_generate_attachment_metadata()
4. Hàm liên quan đến menu
wp_create_nav_menu()
wp_get_nav_menu_items()
wp_update_nav_menu_item()
wp_delete_nav_menu()
5. Hàm liên quan đến bảo mật
wp_nonce_field()
wp_nonce_url()
wp_verify_nonce()
wp_hash()
wp_validate_auth_cookie()
6. Hàm liên quan đến cơ sở dữ liệu
wp_insert_term()
wp_update_term()
wp_delete_term()
wp_get_object_terms()
7. Hàm kiểm tra trạng thái
wp_is_mobile()
wp_doing_cron()
wp_doing_ajax()
8. Hàm làm sạch dữ liệu (Sanitize)
wp_strip_all_tags()
wp_kses()
wp_kses_post()
wp_sanitize_redirect()
9. Hàm liên quan đến giao diện
wp_enqueue_script()
wp_enqueue_style()
wp_register_script()
wp_register_style()
wp_head()
wp_footer()
10. Hàm gửi email
Ngoài các loại hàm đã liệt kê ở trên, WordPress còn có các loại hàm khác:
- Utility (Tiện ích): Các hàm này hỗ trợ trong việc xử lý các nhiệm vụ nhỏ:
wp_parse_args()
wp_remote_get()
wp_remote_post()
- Debugging (Gỡ lỗi): Các hàm hỗ trợ trong việc kiểm tra lỗi:
wp_debug_backtrace_summary()
wp_is_stream()
- Custom Field (Trường tùy chỉnh): Làm việc với metadata:
wp_add_metadata()
wp_update_metadata()
wp_get_metadata()
- Localization (Đa ngôn ngữ):
wp_translate_postdata()
wp_get_locales()
Tóm lại:
Các hàm
wp_*
có sự phân loại rõ ràng theo mục đích và chức năng. Việc hiểu và sử dụng đúng các loại hàm này giúp lập trình viên WordPress tối ưu hóa mã nguồn, cải thiện hiệu suất, và đảm bảo tính an toàn cho trang web.