Mã nào được sử dụng trong WordPress?

Các tiêu chuẩn mã hóa PHP này dành cho toàn bộ cộng đồng WordPress. Chúng là bắt buộc đối với WordPress Core và chúng tôi khuyến khích bạn sử dụng chúng cho cả chủ đề và plugin của mình

Mặc dù các chủ đề và plugin có thể chọn tuân theo một kiểu mã hóa khác, nhưng các tiêu chuẩn mã hóa này không chỉ về kiểu mã mà còn bao gồm các phương pháp hay nhất đã được thiết lập về khả năng tương tác, khả năng dịch và bảo mật trong hệ sinh thái WordPress, vì vậy, ngay cả khi sử dụng một kiểu mã khác

Mặc dù không phải tất cả mã đều có thể (chưa) hoàn toàn tuân thủ các tiêu chuẩn này, nhưng tất cả mã mới được cam kết và/hoặc cập nhật phải tuân thủ đầy đủ các tiêu chuẩn mã hóa này

Đồng thời xem Tiêu chuẩn tài liệu nội tuyến PHP để biết thêm hướng dẫn

Nếu bạn muốn tự động kiểm tra mã của mình theo tiêu chuẩn này, bạn có thể sử dụng công cụ Tiêu chuẩn mã hóa WordPress chính thức, được chạy bằng PHP_CodeSniffer

Khi nhúng các đoạn mã PHP nhiều dòng trong một khối HTML, các thẻ mở và đóng PHP phải nằm trên một dòng riêng lẻ

Đúng (Đa dòng)

function foo() {
    ?>
    

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
2 và
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
3 là các cấu trúc ngôn ngữ, chúng không cần dấu ngoặc đơn xung quanh đường dẫn, vì vậy chúng không nên được sử dụng. Chỉ nên có một khoảng trắng giữa đường dẫn và từ khóa bao gồm/yêu cầu

Chúng tôi thực sự khuyên bạn nên sử dụng

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
3 để bao gồm vô điều kiện. Khi sử dụng
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
5, PHP sẽ đưa ra cảnh báo khi không tìm thấy tệp nhưng sẽ tiếp tục thực thi, điều này gần như chắc chắn sẽ dẫn đến các lỗi/cảnh báo/thông báo khác được đưa ra nếu ứng dụng của bạn phụ thuộc vào tệp được tải, có khả năng dẫn đến rò rỉ bảo mật. Vì lý do đó,
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
3 nói chung là lựa chọn tốt hơn vì nó sẽ ném ra một
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
7 nếu không tìm thấy tệp

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';

Sử dụng các chữ cái viết thường trong tên biến, hành động/bộ lọc và tên hàm (không bao giờ

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
8). Tách các từ thông qua dấu gạch dưới. Đừng viết tắt tên biến một cách không cần thiết;

function some_name( $some_variable ) {}

Đối với tên tham số chức năng, chúng tôi đặc biệt khuyên bạn nên tránh sử dụng các từ khóa dành riêng làm tên, vì nó dẫn đến mã khó đọc và khó hiểu khi sử dụng PHP 8. 0 tính năng “đặt tên tham số trong lời gọi hàm”.
Ngoài ra, hãy nhớ rằng việc đổi tên một tham số chức năng nên được coi là một thay đổi vi phạm kể từ PHP 8. 0, vì vậy hãy đặt tên các tham số chức năng cẩn thận.

Tên lớp, đặc điểm, giao diện và enum nên sử dụng các từ viết hoa được phân tách bằng dấu gạch dưới. Mọi từ viết tắt đều phải viết hoa

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
0

Các hằng số phải viết hoa tất cả với dấu gạch dưới ngăn cách các từ

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
1

Các tệp nên được đặt tên mô tả bằng các chữ cái viết thường. Dấu gạch nối nên ngăn cách các từ

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
20

Tên tệp lớp phải dựa trên tên lớp với _____19 được thêm vào trước và dấu gạch dưới trong tên lớp được thay thế bằng dấu gạch nối, ví dụ: ____ ____

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
21

Tiêu chuẩn đặt tên tệp này dành cho tất cả các tệp hiện tại và mới với các lớp, ngoại trừ các lớp kiểm tra.
Đối với các tệp chứa lớp kiểm tra, tên tệp phải phản ánh chính xác tên lớp, theo PSR4. Điều này là để đảm bảo khả năng tương thích giữa các phiên bản với tất cả các phiên bản PHPUnit được hỗ trợ.

Các tệp chứa các thẻ mẫu trong thư mục

function some_name( $some_variable ) {}
1 nên có thêm ____92 vào cuối tên để chúng rõ ràng

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
22

Các hook động nên được đặt tên bằng phép nội suy thay vì nối cho mục đích dễ đọc và dễ khám phá

Móc động là các móc bao gồm các giá trị động trong tên thẻ của chúng, e. g.

function some_name( $some_variable ) {}
3 (xuất bản_post)

Các biến được sử dụng trong thẻ móc phải được đặt trong dấu ngoặc nhọn

function some_name( $some_variable ) {}
4 và
function some_name( $some_variable ) {}
5, với tên thẻ hoàn chỉnh bên ngoài được đặt trong dấu ngoặc kép. Điều này là để đảm bảo PHP có thể phân tích chính xác các kiểu của biến đã cho trong chuỗi được nội suy

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
23

Nếu có thể, các giá trị động trong tên thẻ cũng phải ngắn gọn và chính xác nhất có thể.

function some_name( $some_variable ) {}
6 tự ghi lại nhiều hơn, chẳng hạn như,
function some_name( $some_variable ) {}
7

Luôn đặt dấu cách sau dấu phẩy và ở cả hai bên của toán tử logic, số học, so sánh, chuỗi và phép gán

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
24

Đặt dấu cách ở hai bên dấu ngoặc đơn mở và đóng của khối cấu trúc điều khiển

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
25

Khi xác định một hàm, hãy làm như vậy

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
26

Khi gọi một chức năng, hãy làm như vậy

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
27

Khi thực hiện so sánh logic, hãy làm như vậy

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
28

Loại phôi phải là chữ thường. Luôn ưu tiên dạng rút gọn của kiểu chuyển,

function some_name( $some_variable ) {}
8 thay vì
function some_name( $some_variable ) {}
9 và
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
00 thay vì
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
01. Đối với phôi float, hãy sử dụng
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
02, không phải
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
03 không được dùng trong PHP 7. 4 và bị xóa trong PHP 8

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
29

Khi đề cập đến các mục mảng, chỉ bao gồm một khoảng trắng xung quanh chỉ mục nếu đó là một biến, chẳng hạn

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
70

Trong khối

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
04, không được có khoảng trống giữa điều kiện
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
05 và dấu hai chấm

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
71

Trừ khi có quy định khác, dấu ngoặc đơn phải có khoảng trắng bên trong chúng

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
72

Khi sử dụng các toán tử tăng (

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
06) hoặc giảm (
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
07), không được có khoảng cách giữa toán tử và biến mà nó áp dụng cho

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
73

Sự thụt đầu dòng của bạn phải luôn phản ánh cấu trúc logic. Sử dụng các tab thực, không phải khoảng trắng, vì điều này cho phép các máy khách linh hoạt nhất

Ngoại lệ. nếu bạn có một khối mã sẽ dễ đọc hơn nếu mọi thứ được căn chỉnh, hãy sử dụng dấu cách

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
74

Đối với mảng kết hợp, mỗi mục phải bắt đầu trên một dòng mới khi mảng chứa nhiều mục

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
75
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
76

Lưu ý dấu phẩy sau mục mảng cuối cùng. điều này được khuyến nghị vì nó giúp thay đổi thứ tự của mảng dễ dàng hơn và tạo ra sự khác biệt rõ ràng hơn khi các mục mới được thêm vào

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
77

Đối với cấu trúc điều khiển

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
04, các câu lệnh
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
05 phải được thụt vào một tab từ câu lệnh
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
04 và nội dung của
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
05 phải được thụt vào một tab từ câu lệnh điều kiện
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
05

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
78

quy tắc ngón tay cái. Các tab nên được sử dụng ở đầu dòng để thụt lề, trong khi khoảng trắng có thể được sử dụng ở giữa dòng để căn chỉnh

Xóa khoảng trắng ở cuối mỗi dòng. Ưu tiên bỏ qua thẻ đóng PHP ở cuối tệp. Nếu bạn sử dụng thẻ, hãy nhớ xóa khoảng trắng ở cuối

Không được có các dòng trống ở cuối thân hàm

Dấu ngoặc nhọn sẽ được sử dụng cho tất cả các khối theo kiểu hiển thị ở đây

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
79

Nếu bạn có một khối thực sự dài, hãy xem xét liệu nó có thể được chia thành hai hoặc nhiều khối, chức năng hoặc phương thức ngắn hơn để giảm độ phức tạp, cải thiện tính dễ kiểm tra và tăng khả năng đọc hay không

Niềng răng phải luôn luôn được sử dụng, ngay cả khi chúng không bắt buộc

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
60

Lưu ý rằng việc yêu cầu sử dụng dấu ngoặc nhọn có nghĩa là cấu trúc điều khiển nội tuyến một câu lệnh bị cấm. Bạn có thể tự do sử dụng cú pháp thay thế cho các cấu trúc điều khiển (e. g. Ví dụ:

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
13/
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
14,
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
15/
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
16)—đặc biệt là trong các mẫu có mã PHP được nhúng trong HTML

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
61

Sử dụng cú pháp mảng dài (

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
17 ) để khai báo mảng thường dễ đọc hơn cú pháp mảng ngắn (
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
18 ), đặc biệt đối với những người có thị lực khó khăn. Ngoài ra, nó mô tả nhiều hơn cho người mới bắt đầu

Mảng phải được khai báo bằng cú pháp mảng dài

Khi chia lệnh gọi hàm thành nhiều dòng, mỗi tham số phải nằm trên một dòng riêng. Nhận xét nội tuyến một dòng có thể chiếm dòng riêng của họ

Mỗi tham số không được chiếm quá một dòng. Các giá trị tham số nhiều dòng phải được gán cho một biến và sau đó biến đó sẽ được chuyển đến lệnh gọi hàm

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
62

Khai báo kiểu phải có chính xác một khoảng trắng trước và sau kiểu. Toán tử nullability (

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
19) được coi là một phần của khai báo kiểu và không được có khoảng trắng giữa toán tử này và kiểu thực tế. Các khai báo kiểu dựa trên tên lớp/giao diện/tên enum nên sử dụng trường hợp của tên lớp/giao diện/enum như đã khai báo, trong khi các khai báo kiểu dựa trên từ khóa nên được viết thường

Các khai báo kiểu trả về không được có khoảng cách giữa dấu ngoặc đơn đóng của khai báo hàm và dấu hai chấm bắt đầu kiểu trả về

Các quy tắc này áp dụng cho tất cả các cấu trúc cho phép khai báo kiểu. hàm, bao đóng, enum, điều kiện bắt cũng như PHP 7. 4 chức năng mũi tên và thuộc tính gõ

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
63

Ghi chú.
Việc sử dụng khai báo kiểu có các hạn chế sau dựa trên phiên bản PHP yêu cầu tối thiểu của ứng dụng, cho dù đó là WordPress Core, plugin hay chủ đề.

  • Không thể sử dụng các khai báo kiểu vô hướng
    // Correct.
    require_once ABSPATH . 'file-name.php';
    
    // Incorrect.
    include_once  ( ABSPATH . 'file-name.php' );
    require_once     __DIR__ . '/file-name.php';
    
    200,
    // Correct.
    require_once ABSPATH . 'file-name.php';
    
    // Incorrect.
    include_once  ( ABSPATH . 'file-name.php' );
    require_once     __DIR__ . '/file-name.php';
    
    201,
    // Correct.
    require_once ABSPATH . 'file-name.php';
    
    // Incorrect.
    include_once  ( ABSPATH . 'file-name.php' );
    require_once     __DIR__ . '/file-name.php';
    
    202 và
    // Correct.
    require_once ABSPATH . 'file-name.php';
    
    // Incorrect.
    include_once  ( ABSPATH . 'file-name.php' );
    require_once     __DIR__ . '/file-name.php';
    
    203 cho đến khi phiên bản PHP tối thiểu là PHP 7. 0 hoặc cao hơn
  • Không thể sử dụng khai báo kiểu trả về cho đến khi phiên bản PHP tối thiểu là PHP 7. 0 hoặc cao hơn
  • Không thể sử dụng các khai báo kiểu nullable cho đến khi phiên bản PHP tối thiểu là PHP 7. 1 hoặc cao hơn
  • Không thể sử dụng các khai báo kiểu
    // Correct.
    require_once ABSPATH . 'file-name.php';
    
    // Incorrect.
    include_once  ( ABSPATH . 'file-name.php' );
    require_once     __DIR__ . '/file-name.php';
    
    204 và
    // Correct.
    require_once ABSPATH . 'file-name.php';
    
    // Incorrect.
    include_once  ( ABSPATH . 'file-name.php' );
    require_once     __DIR__ . '/file-name.php';
    
    205 cho đến khi phiên bản PHP tối thiểu là PHP 7. 1 hoặc cao hơn. Loại
    // Correct.
    require_once ABSPATH . 'file-name.php';
    
    // Incorrect.
    include_once  ( ABSPATH . 'file-name.php' );
    require_once     __DIR__ . '/file-name.php';
    
    205 chỉ có thể được sử dụng làm loại trả về
  • Không thể sử dụng khai báo kiểu
    // Correct.
    require_once ABSPATH . 'file-name.php';
    
    // Incorrect.
    include_once  ( ABSPATH . 'file-name.php' );
    require_once     __DIR__ . '/file-name.php';
    
    207 cho đến khi phiên bản PHP tối thiểu là PHP 7. 2 hoặc cao hơn
  • Không thể sử dụng khai báo loại thuộc tính cho đến khi phiên bản PHP tối thiểu là PHP 7. 4 hoặc cao hơn
  • Không thể sử dụng
    // Correct.
    require_once ABSPATH . 'file-name.php';
    
    // Incorrect.
    include_once  ( ABSPATH . 'file-name.php' );
    require_once     __DIR__ . '/file-name.php';
    
    208 (chỉ loại trả về) cho đến khi phiên bản PHP tối thiểu là PHP 8. 0 hoặc cao hơn
  • Không thể sử dụng loại
    // Correct.
    require_once ABSPATH . 'file-name.php';
    
    // Incorrect.
    include_once  ( ABSPATH . 'file-name.php' );
    require_once     __DIR__ . '/file-name.php';
    
    209 cho đến khi phiên bản PHP tối thiểu là PHP 8. 0 hoặc cao hơn. Hãy lưu ý rằng loại
    // Correct.
    require_once ABSPATH . 'file-name.php';
    
    // Incorrect.
    include_once  ( ABSPATH . 'file-name.php' );
    require_once     __DIR__ . '/file-name.php';
    
    209 bao gồm
    // Correct.
    require_once ABSPATH . 'file-name.php';
    
    // Incorrect.
    include_once  ( ABSPATH . 'file-name.php' );
    require_once     __DIR__ . '/file-name.php';
    
    211, do đó không thể biến thành null
  • Không thể sử dụng các loại liên kết cho đến khi phiên bản PHP tối thiểu là PHP 8. 0 hoặc cao hơn
  • Không thể sử dụng các loại giao lộ cho đến khi phiên bản PHP tối thiểu là PHP 8. 1 hoặc cao hơn
  • Không thể sử dụng
    // Correct.
    require_once ABSPATH . 'file-name.php';
    
    // Incorrect.
    include_once  ( ABSPATH . 'file-name.php' );
    require_once     __DIR__ . '/file-name.php';
    
    212 (chỉ loại trả về) cho đến khi phiên bản PHP tối thiểu là PHP 8. 1 hoặc cao hơn
  • Không thể sử dụng các loại biểu mẫu thông thường rời rạc (kết hợp các loại liên kết và các loại giao nhau) cho đến khi phiên bản PHP tối thiểu là PHP 8. 2 hoặc cao hơn

Cách sử dụng trong WordPress Core

Cảnh báo.
Việc thêm các khai báo kiểu vào các chức năng WordPress Core hiện có cần được thực hiện hết sức cẩn thận.

Chữ ký chức năng của bất kỳ chức năng (phương pháp) nào có thể bị quá tải bởi plugin hoặc chủ đề không được chạm vào.
Hiện tại, điều này chỉ để lại các hàm được khai báo vô điều kiện trong không gian tên chung, các phương thức lớp

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
213 và mã mới cho Core, làm ứng cử viên để thêm khai báo kiểu.

Ghi chú. Hiện tại, việc sử dụng từ khóa

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
214 trong khai báo loại không được khuyến khích mạnh mẽ, vì thông thường, tốt hơn là sử dụng
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
204 để cho phép triển khai linh hoạt hơn và từ khóa đó chưa có sẵn để sử dụng trong WordPress Core cho đến khi các yêu cầu tối thiểu được nâng lên . 1

Các hằng ma thuật

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
216 gốc của PHP, như
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
217 và
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
218, nên được viết bằng chữ hoa khi sử dụng

Khi sử dụng hằng số

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
219 để phân giải tên lớp, từ khóa
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
220 phải ở dạng chữ thường và không được có khoảng trắng xung quanh toán tử
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
221

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
64

Khi sử dụng toán tử trải rộng, phải có một khoảng trắng hoặc một dòng mới có thụt lề thích hợp trước toán tử trải rộng. Không được có khoảng trắng giữa toán tử trải rộng và lệnh gọi biến/hàm mà nó áp dụng cho. Khi kết hợp toán tử trải rộng với toán tử tham chiếu (

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
222), không được có khoảng cách giữa chúng

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
65

Ghi chú.
Toán tử trải rộng (hoặc toán tử splat được biết đến trong các ngôn ngữ khác) có thể được sử dụng để đóng gói các đối số trong khai báo hàm (hàm biến đổi) và giải nén chúng trong các lệnh gọi hàm kể từ PHP 5. 6. Kể từ PHP 7. 4, toán tử trải rộng cũng được sử dụng để giải nén các mảng được lập chỉ mục bằng số, với tính năng giải nén mảng có khóa chuỗi có sẵn kể từ PHP 8. 1.
Khi được sử dụng trong khai báo hàm, toán tử trải rộng chỉ có thể được sử dụng với tham số cuối cùng.

Mỗi phần của tên không gian tên phải bao gồm các từ viết hoa được phân tách bằng dấu gạch dưới

Các khai báo không gian tên phải có chính xác một dòng trống trước khai báo và ít nhất một dòng trống sau

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
66

Chỉ nên có một khai báo không gian tên cho mỗi tệp và nó phải ở đầu tệp. Không được phép khai báo không gian tên sử dụng cú pháp dấu ngoặc nhọn. Khai báo không gian tên chung rõ ràng (khai báo không gian tên không có tên) cũng không được phép

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
67

Hiện tại không có mốc thời gian giới thiệu không gian tên cho WordPress Core

Việc sử dụng không gian tên trong plugin và chủ đề được khuyến khích mạnh mẽ. Đó là một cách tuyệt vời để thêm tiền tố vào nhiều mã của bạn để ngăn xung đột đặt tên với các plugin, chủ đề và/hoặc WordPress Core khác

Vui lòng đảm bảo rằng bạn sử dụng tiền tố không gian tên duy nhất và đủ dài để thực sự ngăn chặn xung đột. Nói chung, sử dụng tiền tố không gian tên dọc theo dòng

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
223 là một ý tưởng hay

Cảnh báo.
Tiền tố không gian tên

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
224 và
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
225 được dành riêng cho chính WordPress.

Ghi chú.
Không gian đặt tên không ảnh hưởng đến các biến, hằng được khai báo bằng

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
226 hoặc các cấu trúc gốc không phải PHP, chẳng hạn như các tên hook được sử dụng trong WordPress.
Những từ đó vẫn cần có tiền tố riêng lẻ.

Sử dụng các câu lệnh import

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
227 cho phép bạn tham chiếu đến các hằng số, hàm, lớp, giao diện, không gian tên, enum và các đặc điểm sống bên ngoài không gian tên hiện tại

Câu lệnh nhập khẩu

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
227 phải ở đầu tệp và tuân theo khai báo
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
229 (tùy chọn). Họ phải tuân theo một thứ tự cụ thể dựa trên loại nhập khẩu

  1. // Correct.
    require_once ABSPATH . 'file-name.php';
    
    // Incorrect.
    include_once  ( ABSPATH . 'file-name.php' );
    require_once     __DIR__ . '/file-name.php';
    
    227 câu lệnh cho không gian tên, lớp, giao diện, đặc điểm và enums
  2. // Correct.
    require_once ABSPATH . 'file-name.php';
    
    // Incorrect.
    include_once  ( ABSPATH . 'file-name.php' );
    require_once     __DIR__ . '/file-name.php';
    
    227 câu lệnh cho hàm
  3. // Correct.
    require_once ABSPATH . 'file-name.php';
    
    // Incorrect.
    include_once  ( ABSPATH . 'file-name.php' );
    require_once     __DIR__ . '/file-name.php';
    
    227 câu lệnh cho hằng số

Bí danh có thể được sử dụng để tránh xung đột tên (hai lớp trong các không gian tên khác nhau sử dụng cùng một tên lớp).
Khi sử dụng bí danh, hãy đảm bảo bí danh tuân theo quy ước đặt tên của WordPress và là duy nhất.

Các ví dụ sau đây cho thấy cách sử dụng đúng và sai của câu lệnh import

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
227 liên quan đến những thứ như khoảng cách, nhóm, dấu gạch chéo ngược ở đầu, v.v.

Chính xác

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
68

Không đúng

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
69

Cảnh báo.
Nhập câu lệnh

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
227 không ảnh hưởng đến tên lớp, hàm hoặc hằng động.
Các câu lệnh nhóm
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
227 có sẵn từ PHP 7. 0, và dấu phẩy ở cuối câu lệnh nhóm
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
227 có sẵn từ PHP 7. 2.

Ghi chú.
Lưu ý rằng, trừ khi bạn đã triển khai tự động tải, câu lệnh

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
227 sẽ không tự động tải bất kỳ nội dung nào đang được nhập. Bạn sẽ cần thiết lập tính năng tự động tải hoặc tải tệp chứa lớp/hàm/hằng bằng cách sử dụng câu lệnh
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
238 để các cấu trúc bí danh được tải khi sử dụng.

Lưu ý về việc sử dụng WordPres Core

Mặc dù các câu lệnh import

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
227 đã có thể được sử dụng trong WordPress Core, nhưng hiện tại nó không được khuyến khích lắm

Nhập câu lệnh

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
227 hữu ích nhất khi được kết hợp với không gian tên và triển khai tự động tải lớp.
Vì cả hai điều này hiện không có sẵn cho WordPress Core và các cuộc thảo luận về vấn đề này đang diễn ra, nên tạm dừng việc thêm các câu lệnh import
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
227 vào WordPress Core là lựa chọn hợp lý vào lúc này.

Chẳng hạn, nếu chúng ta có một tệp tên là

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
242 thì nó chỉ có thể chứa một lớp trong tệp đó

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
60

Lớp thứ hai phải ở trong tệp riêng của nó có tên là

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
243

_______561____562

Các câu lệnh Trait

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
227 phải ở đầu lớp và phải có chính xác một dòng trống trước câu lệnh
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
227 đầu tiên và ít nhất một dòng trống sau câu lệnh cuối cùng. Ngoại lệ duy nhất là khi lớp chỉ chứa các câu lệnh đặc điểm
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
227, trong trường hợp đó, dòng trống sau có thể được bỏ qua

Các ví dụ mã sau đây cho thấy các yêu cầu định dạng cho các câu lệnh đặc điểm

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
227 liên quan đến những thứ như khoảng cách, nhóm và thụt lề

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
63

Đối với tất cả các cấu trúc cho phép nó (thuộc tính, phương thức, hằng số lớp kể từ PHP 7. 1), khả năng hiển thị phải được khai báo rõ ràng.
Không được phép sử dụng từ khóa

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
248 để khai báo thuộc tính.

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
64

Cách sử dụng trong WordPress Core

Không thể sử dụng khả năng hiển thị cho các hằng số lớp trong WordPress Core cho đến khi phiên bản PHP tối thiểu được nâng lên PHP 7. 1

Khi sử dụng nhiều công cụ sửa đổi cho một khai báo lớp, thứ tự sẽ như sau

  1. Đầu tiên, công cụ sửa đổi
    // Correct.
    require_once ABSPATH . 'file-name.php';
    
    // Incorrect.
    include_once  ( ABSPATH . 'file-name.php' );
    require_once     __DIR__ . '/file-name.php';
    
    249 hoặc
    // Correct.
    require_once ABSPATH . 'file-name.php';
    
    // Incorrect.
    include_once  ( ABSPATH . 'file-name.php' );
    require_once     __DIR__ . '/file-name.php';
    
    250 tùy chọn
  2. Tiếp theo, công cụ sửa đổi
    // Correct.
    require_once ABSPATH . 'file-name.php';
    
    // Incorrect.
    include_once  ( ABSPATH . 'file-name.php' );
    require_once     __DIR__ . '/file-name.php';
    
    251 tùy chọn

Khi sử dụng nhiều công cụ sửa đổi cho một khai báo hằng bên trong các cấu trúc hướng đối tượng, thứ tự sẽ như sau

  1. Đầu tiên, công cụ sửa đổi
    // Correct.
    require_once ABSPATH . 'file-name.php';
    
    // Incorrect.
    include_once  ( ABSPATH . 'file-name.php' );
    require_once     __DIR__ . '/file-name.php';
    
    250 tùy chọn
  2. Tiếp theo, công cụ sửa đổi khả năng hiển thị

Khi sử dụng nhiều công cụ sửa đổi cho khai báo thuộc tính, thứ tự sẽ như sau

  1. Đầu tiên, một công cụ sửa đổi khả năng hiển thị
  2. Tiếp theo, công cụ sửa đổi
    // Correct.
    require_once ABSPATH . 'file-name.php';
    
    // Incorrect.
    include_once  ( ABSPATH . 'file-name.php' );
    require_once     __DIR__ . '/file-name.php';
    
    208 hoặc
    // Correct.
    require_once ABSPATH . 'file-name.php';
    
    // Incorrect.
    include_once  ( ABSPATH . 'file-name.php' );
    require_once     __DIR__ . '/file-name.php';
    
    251 tùy chọn (những từ khóa này loại trừ lẫn nhau)
  3. Cuối cùng, khai báo tùy chọn
    // Correct.
    require_once ABSPATH . 'file-name.php';
    
    // Incorrect.
    include_once  ( ABSPATH . 'file-name.php' );
    require_once     __DIR__ . '/file-name.php';
    
    255

Khi sử dụng nhiều công cụ sửa đổi cho một khai báo phương thức, thứ tự sẽ như sau

  1. Đầu tiên, công cụ sửa đổi
    // Correct.
    require_once ABSPATH . 'file-name.php';
    
    // Incorrect.
    include_once  ( ABSPATH . 'file-name.php' );
    require_once     __DIR__ . '/file-name.php';
    
    249 hoặc
    // Correct.
    require_once ABSPATH . 'file-name.php';
    
    // Incorrect.
    include_once  ( ABSPATH . 'file-name.php' );
    require_once     __DIR__ . '/file-name.php';
    
    250 tùy chọn
  2. Sau đó, một công cụ sửa đổi khả năng hiển thị
  3. Cuối cùng, công cụ sửa đổi
    // Correct.
    require_once ABSPATH . 'file-name.php';
    
    // Incorrect.
    include_once  ( ABSPATH . 'file-name.php' );
    require_once     __DIR__ . '/file-name.php';
    
    208 tùy chọn
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
65

Ghi chú.
– Có thể khai báo khả năng hiển thị của hằng số OO kể từ PHP 7. 1.
– Các thuộc tính đã nhập có sẵn kể từ PHP 7. 4.
– Thuộc tính chỉ đọc có sẵn kể từ PHP 8. 1.
– Công cụ sửa đổi

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
250 cho các hằng số trong cấu trúc hướng đối tượng đã có từ PHP 8. 1.
– Các lớp chỉ đọc có sẵn kể từ PHP 8. 2.

Khi khởi tạo một thể hiện đối tượng mới, phải luôn sử dụng dấu ngoặc đơn, ngay cả khi không thực sự cần thiết.
Không được có khoảng cách giữa tên của lớp được khởi tạo và dấu ngoặc đơn mở.

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
66

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
260 không tương thích với cú pháp dấu hai chấm cho các khối
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
261. Vì lý do này, hãy sử dụng
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
262 cho câu điều kiện

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
67

Khi thực hiện so sánh logic liên quan đến biến, luôn đặt biến ở bên phải và đặt hằng, ký tự hoặc lệnh gọi hàm ở bên trái. Nếu không bên nào là một biến, thứ tự không quan trọng. (Theo thuật ngữ khoa học máy tính, khi so sánh luôn cố gắng đặt giá trị l ở bên phải và giá trị r ở bên trái. )

Trong ví dụ trên, nếu bạn bỏ qua dấu bằng (hãy thừa nhận điều đó, điều này xảy ra ngay cả với những người dày dặn kinh nghiệm nhất trong chúng ta), bạn sẽ gặp lỗi phân tích cú pháp vì bạn không thể gán cho một hằng số như

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
263. Nếu câu lệnh ngược lại với khoảng
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
264, phép gán sẽ hoàn toàn hợp lệ, trả về
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
265, khiến câu lệnh if có giá trị là
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
263 và bạn có thể theo đuổi lỗi đó một lúc

Một chút kỳ lạ, đó là, để đọc. Làm quen với nó, bạn sẽ

Điều này áp dụng cho

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
267,
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
268,
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
269 và
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
270. Điều kiện Yoda cho
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
271,
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
272,
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
273 hoặc
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
274 khó đọc hơn đáng kể và tốt nhất nên tránh

Các toán tử bậc ba đều ổn, nhưng hãy luôn kiểm tra xem câu lệnh đó có đúng không, không sai. Nếu không, nó chỉ gây nhầm lẫn. (Một ngoại lệ sẽ là sử dụng

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
275, vì việc kiểm tra sai ở đây thường trực quan hơn. )

Toán tử bậc ba ngắn không được sử dụng

Ví dụ

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
68

Như đã lưu ý trong các tài liệu PHP

PHP hỗ trợ một toán tử kiểm soát lỗi. dấu tại (@). Khi được thêm vào trước một biểu thức trong PHP, mọi lỗi chẩn đoán có thể do biểu thức đó tạo ra sẽ bị loại bỏ

Mặc dù toán tử này tồn tại trong Core, nhưng nó thường được sử dụng một cách lười biếng thay vì thực hiện kiểm tra lỗi thích hợp. Việc sử dụng nó rất không được khuyến khích, vì ngay cả các tài liệu PHP cũng nêu rõ

Cảnh báo. Trước PHP 8. 0. 0, toán tử @ có thể vô hiệu hóa các lỗi nghiêm trọng sẽ chấm dứt quá trình thực thi tập lệnh. Ví dụ: thêm @ vào lệnh gọi của một chức năng không tồn tại, do không khả dụng hoặc nhập sai, sẽ khiến tập lệnh kết thúc mà không có dấu hiệu giải thích tại sao

Tăng/giảm trước nên được ưu tiên hơn tăng/giảm sau đối với các câu lệnh độc lập

Tăng/giảm trước sẽ tăng/giảm rồi trả về, trong khi tăng/giảm sau sẽ trả về rồi tăng/giảm.
Sử dụng phiên bản “tiền” sẽ hiệu quả hơn một chút và có thể ngăn ngừa các lỗi trong tương lai khi mã được di chuyển xung quanh.

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
69

Tránh chạm trực tiếp vào cơ sở dữ liệu. Nếu có một chức năng được xác định có thể lấy dữ liệu bạn cần, hãy sử dụng nó. Trừu tượng hóa cơ sở dữ liệu (sử dụng hàm thay vì truy vấn) giúp giữ cho mã của bạn tương thích chuyển tiếp và trong trường hợp kết quả được lưu trong bộ nhớ đệm, mã có thể nhanh hơn nhiều lần

Nếu bạn phải chạm vào cơ sở dữ liệu, hãy xem xét việc tạo một vé Trac. Ở đó, bạn có thể thảo luận về khả năng thêm chức năng mới để bao gồm chức năng bạn muốn, cho phiên bản WordPress trong tương lai

Khi định dạng các câu lệnh SQL, bạn có thể chia chúng thành nhiều dòng và thụt lề nếu nó đủ phức tạp để đảm bảo. Hầu hết các báo cáo hoạt động tốt như một dòng mặc dù. Luôn viết hoa các phần SQL của câu lệnh như

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
276 hoặc
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
277

Các chức năng cập nhật cơ sở dữ liệu sẽ mong đợi các tham số của chúng thiếu dấu gạch chéo SQL thoát khi được thông qua. Thoát nên được thực hiện càng gần thời điểm truy vấn càng tốt, tốt nhất là bằng cách sử dụng

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
278

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
278 là một phương thức xử lý thoát, trích dẫn và truyền nội dung cho các truy vấn SQL. Nó sử dụng một tập hợp con của kiểu định dạng
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
280. Thí dụ

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
640

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
281 được sử dụng cho trình giữ chỗ chuỗi và
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
282 được sử dụng cho trình giữ chỗ số nguyên. Lưu ý rằng chúng không được 'trích dẫn'.
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
278 sẽ lo thoát nạn và báo giá cho chúng ta. Lợi ích của việc này là có thể dễ dàng nhìn thấy một cái gì đó đã thoát hay chưa bởi vì nó xảy ra ngay khi truy vấn xảy ra.

Xem Xác thực dữ liệu trong Sổ tay plugin để biết thêm chi tiết

Ưu tiên các giá trị chuỗi chỉ là

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
263 và
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
285 khi gọi hàm

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
641

PHP chỉ hỗ trợ các đối số được đặt tên kể từ PHP 8. 0. Tuy nhiên, vì WordPress hiện vẫn hỗ trợ các phiên bản PHP cũ hơn nên chúng tôi chưa thể sử dụng các phiên bản đó.
Không có đối số được đặt tên, giá trị của các cờ là vô nghĩa, và mỗi khi gặp lệnh gọi hàm như ví dụ trên, chúng ta lại phải tìm kiếm định nghĩa hàm. Có thể làm cho mã dễ đọc hơn bằng cách sử dụng các giá trị chuỗi mô tả, thay vì các phép toán luận.

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
642

Khi cần nhiều từ hơn để mô tả các tham số chức năng, một mảng

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
286 có thể là một mẫu tốt hơn

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
643

Hãy cẩn thận khi sử dụng mẫu này, vì nó có thể dẫn đến thông báo "Chỉ mục mảng không xác định" nếu đầu vào không được xác thực trước khi sử dụng. Chỉ sử dụng mẫu này khi nó hợp lý (tôi. e. nhiều đối số có thể), không chỉ vì lợi ích của nó

Nói chung, tính dễ đọc quan trọng hơn tính thông minh hoặc ngắn gọn

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
644

Mặc dù dòng trên rất thông minh, nhưng bạn sẽ mất một lúc để mò mẫm nếu chưa quen. Vì vậy, chỉ cần viết nó như thế này

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
645

Trừ khi thực sự cần thiết, không nên sử dụng phép so sánh lỏng lẻo, vì hành vi của chúng có thể gây hiểu nhầm

Chính xác

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
646

Không đúng

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
647

Bài tập không được đặt trong câu điều kiện

Chính xác

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
648

Không đúng

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
649

Trong một câu lệnh

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
04, có thể có nhiều trường hợp trống rơi vào một khối chung. Nếu một trường hợp chứa một khối, thì chuyển sang khối tiếp theo, tuy nhiên, điều này phải được nhận xét rõ ràng

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
0

Câu lệnh

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
288 không bao giờ được sử dụng

Cấu trúc

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
289 rất nguy hiểm và không thể bảo mật. Ngoài ra, hàm
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
290, thực hiện bên trong một
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
289, không được dùng nữa kể từ PHP 7. 2 và đã bị xóa trong PHP 8. 0. Không ai trong số này phải được sử dụng

Khi thích hợp, các bao đóng có thể được sử dụng thay thế cho việc tạo các hàm mới để chuyển dưới dạng gọi lại. Ví dụ

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
1

Không nên chuyển các bao đóng dưới dạng lệnh gọi lại bộ lọc hoặc hành động, vì việc xóa chúng qua

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
292 /
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
293 rất phức tạp (tại thời điểm này) (xem #46635 để biết đề xuất giải quyết vấn đề này)

Các biểu thức chính quy tương thích với Perl (các hàm PCRE,

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
294) nên được ưu tiên sử dụng hơn các đối tác POSIX của chúng. Không bao giờ sử dụng công tắc
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
295, thay vào đó hãy sử dụng
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
296

Thuận tiện nhất là sử dụng các chuỗi trích dẫn đơn cho các biểu thức chính quy vì trái ngược với các chuỗi trích dẫn kép, chúng chỉ có hai siêu chuỗi cần thoát.

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
297 và
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
298

Mỗi #22400

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
299 là một chức năng khủng khiếp khiến mã khó gỡ lỗi hơn và khó hiểu hơn. Chúng ta nên ngăn cản việc sử dụng nó [sic] và loại bỏ tất cả những cách chúng ta sử dụng nó

Joseph Scott có một bài viết hay về lý do tại sao nó tệ

Việc sử dụng toán tử backtick giống hệt với

// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
700 và hầu hết các máy chủ đều tắt chức năng này trong tệp
// Correct.
require_once ABSPATH . 'file-name.php';

// Incorrect.
include_once  ( ABSPATH . 'file-name.php' );
require_once     __DIR__ . '/file-name.php';
701 vì lý do bảo mật

WordPress sử dụng PHP hay JavaScript?

PHP là ngôn ngữ cốt lõi của WordPress . Bản thân lõi WordPress và gần như tất cả các chủ đề và plugin của WordPress, chủ yếu được viết bằng PHP và do đó, trong số tất cả các ngôn ngữ kỹ thuật, chính xác nhất khi nói rằng “WordPress được viết bằng PHP. ”

Mã hóa WordPress là gì?

Mục đích của Tiêu chuẩn mã hóa WordPress là để tạo cơ sở cho sự hợp tác và đánh giá trong các khía cạnh khác nhau của cộng đồng và dự án mã nguồn mở WordPress .

WordPress có sử dụng JavaScript không?

JavaScript có thể được sử dụng trong nền tảng WordPress để thêm các yếu tố động vào các trang và bài đăng hoặc trên toàn bộ trang web của bạn. Trong bài viết này, chúng ta sẽ xem xét JavaScript, nó là gì và cách bạn có thể sử dụng nó để nâng cao trải nghiệm kỹ thuật số cho WordPress của mình

WordPress có sử dụng HTML không?

WordPress và các hệ thống quản lý nội dung khác sử dụng HTML . Câu trả lời dài là WordPress chủ yếu không được viết bằng HTML. Phần mềm cốt lõi của nó — cũng như các plugin và chủ đề WordPress — chủ yếu được viết bằng PHP, ngôn ngữ lập trình kiểm soát cách trang web WordPress tương tác và kết nối với cơ sở dữ liệu của nó.