Một số giải thích
Trước tiên, bạn cần hiểu mục đích của hàm.php trong một chủ đề. Hàm.php về cơ bản chỉ là một tệp plugin với bất kỳ tên nào mà nếu có thì sẽ được Wordpress tự động tải. Wordpress tải function.php của chủ đề hiện tại của bạn cho các trang đầu wordpress và cũng như các trang back-end (admin).
Không có sự khác biệt giữa plugin và tests.php ngoại trừ các plugin có tên và chúng có thể được kích hoạt / khử kích hoạt bất kể các plugin và chủ đề khác. Funtions.php được đính kèm với chủ đề hiện tại của bạn và nếu bạn chuyển sang chủ đề khác, Wordpress sử dụng hàm.php của chủ đề mới chứ không phải hàm.php cũ của bạn với các sửa đổi tùy chỉnh.
Các bản cập nhật chủ đề cũng ghi đè các hàm.php và không có cách nào để tránh nó, ngay cả khi bạn đặt các sửa đổi tùy chỉnh của mình trong các tệp mã riêng biệt và đưa nó vào fucntions.php, bạn sẽ phải thêm dòng bao gồm sau mỗi lần cập nhật.
Nói chung là loại mã nên có trong hàm.php:
- các chức năng được sử dụng trong các tệp mẫu của chủ đề của bạn.
- tùy chọn chủ đề
- thanh bên
- menu điều hướng
- định dạng bài
- đăng hình thu nhỏ
- bất kỳ mã nào chỉ liên quan đến chủ đề hiện tại.
Khi bạn muốn giữ lại các sửa đổi tùy chỉnh của mình ngay cả khi bạn chuyển đổi chủ đề. Bởi vì chủ đề con sẽ không hoạt động trong trường hợp này vì bạn sẽ chuyển đổi chủ đề và hàm.php của chủ đề con sẽ không được sử dụng.
Giải pháp
Giải pháp duy nhất theo khuyến nghị của @Otto là tạo tệp plugin. Cách tiếp cận bạn có thể thực hiện để tạo plugin cụ thể cho trang web của mình là tạo một thư mục có tên trang web của bạn trong 'wp-content / plugin' và tạo các tệp plugin trong đó.
Tại sao tập tin plugin? và không phải tập tin plugin đơn.
Chức năng của trang liên quan đến nhóm liên quan đến mã trong các tệp plugin riêng biệt và đừng quên thêm tiêu đề plugin trong tất cả các tệp plugin của bạn để chúng được Wordpress nhận ra là các plugin riêng biệt. Sau đó, bạn sẽ có khả năng kích hoạt / hủy kích hoạt các tính năng / chức năng khác nhau của trang web của mình mà không phá vỡ mọi thứ.