Một đoạn trích ngắn về phát triển WordPress có thể giúp hoặc có thể làm bạn bối rối:
Điều chính cần ghi nhớ: tất cả chỉ là PHP. Và cũng: không chỉnh sửa các tệp cốt lõi của WordPress, vì bạn sẽ gặp rắc rối khi cập nhật lên phiên bản mới hơn sau này. Mã duy nhất bạn nên chỉnh sửa là các plugin và chủ đề.
Nếu bạn chỉ cần thêm một cái gì đó vào một trang hiện có, nó có thể hoạt động để chỉ chỉnh sửa đúng tệp chủ đề. Tuy nhiên, nếu bạn cần làm một cái gì đó nâng cao (và thêm một "chế độ xem" bổ sung, như tại một URL cụ thể, nâng cao hơn trong WordPress), bạn cần thêm mã tại một nơi sẽ được tải trước đó trong quy trình khởi động WordPress .
Lý do cho điều này là WordPress luôn thực hiện một truy vấn bài đăng cho bạn, dựa trên URL. Khi bạn truy cập /category/banana/
, nó sẽ truy vấn các bài đăng thuộc danh mục banana
và tải tệp mẫu chính xác mà bạn chỉ phải lặp lại và hiển thị chúng. Tuy nhiên, nếu bạn truy cập /custom-view/
, WordPress có thể sẽ không tìm thấy bất kỳ bài đăng nào và tải mẫu 404 - không cho bạn cách khôi phục dễ dàng!
Một số người giải quyết điều này bằng cách tạo "các trang còn sơ khai": họ tạo Trang trong WordPress trong đó nội dung không quan trọng, chỉ có mẫu là: ở đó họ làm bất cứ điều gì họ muốn làm. Đây là hackish, nhưng nó hoạt động. Cách rõ ràng sẽ là xác định các quy tắc viết lại bổ sung , cho WordPress biết đó /custom-view/
là một URL hợp lệ, nhưng điều đó sẽ xảy ra ở đó.
Nếu bạn muốn làm điều này, bạn cần nối vào hệ thống WordPress cốt lõi. Phần quan trọng ở đây là móc vào , không sửa đổi . WordPress có hành động và bộ lọc . Một hành động chỉ là một thông báo ( "Này, chúng tôi hiện đang viết <head>
thẻ. Bạn có muốn thêm bất cứ điều gì không?" ). Bộ lọc cho phép bạn sửa đổi một biến ( "Đây là tiêu đề bài viết. Nếu bạn muốn sửa đổi nó, hãy trả về một giá trị mới" ). Tất nhiên, mẹo bây giờ là biết những hành động và bộ lọc nào bạn nên sử dụng. Điều này phụ thuộc vào cách bạn chọn (sơ khai trang hoặc quy tắc viết lại mới), vì vậy tôi sẽ không đi vào chi tiết ở đây.
Bạn xác định hành động và bộ lọc mà bạn muốn sử dụng trong một file plugin hoặc trong functions.php tập tin của chủ đề của bạn. Chúng đặc biệt ở chỗ chúng được tải trong khi WordPress đang khởi động , vì vậy trước khi truy vấn chính được thực thi, v.v. Tệp plugin chỉ là một tệp PHP, được đặt trong wp-content/plugins/
thư mục, với một tiêu đề đặc biệt để WordPress có thể đọc tên của nó và hiển thị nó trong khu vực quản trị nơi bạn có thể bật và tắt nó (vì vậy bạn có thể tạm thời để lại plugin trong thư mục vô hiệu hóa nó).