Đoạn mã PHP nhanh này có thể được sử dụng để kiểm tra xem có tồn tại một URL cụ thể hay không. Tôi sử dụng điều này trong một trong các dự án của mình để kiểm tra sự tồn tại của rô bốt. txt trên trang web. Có thể được sửa đổi để kiểm tra các tệp trên bất kỳ trang web có thể truy cập công khai nào
$protocol = is_ssl[] ? '//' : '//'; // uses WP function is_ssl[]
$robots = $protocol . $_SERVER['SERVER_NAME'] .'/robots.txt';
$exists = false;
if [!$exists && in_array['curl', get_loaded_extensions[]]] {
$ch = curl_init[$robots];
curl_setopt[$ch, CURLOPT_NOBODY, true];
curl_setopt[$ch, CURLOPT_RETURNTRANSFER, true];
curl_exec[$ch];
$response = curl_getinfo[$ch, CURLINFO_HTTP_CODE];
if [$response === 200] $exists = true;
curl_close[$ch];
}
if [!$exists && function_exists['get_headers']] {
$headers = @get_headers[$robots];
if [$headers] {
if [strpos[$headers[0], '404'] !== false] {
$exists = true;
}
}
}
Đây là cách nó hoạt động
- Đặt ba biến.
$protocol
,$robots
và$exists
- Kiểm tra xem
curl
của PHP có sẵn không; - Kiểm tra xem có sẵn
get_headers
không;
Vì vậy, kết quả cuối cùng của tập lệnh này sẽ là biến $exists
sẽ trả về là
//display current time with timezone function wpb_show_timezone[] { $better_time = current_time['F j, Y g:i a e']; echo "2 nếu tệp/URL được chỉ định tồn tại. Nếu không thìThe current time is " . $better_time ."
"; }
$exists
vẫn là $protocol
1ghi chú. Nếu WordPress không có sẵn, bạn sẽ cần sửa đổi hoặc xóa biến $protocol
cho phù hợp. Cũng có thể muốn thay đổi biến $robots
trong suốt tùy thuộc vào cách sử dụng. Và cuối cùng, đảm bảo chỉ định URL của bất kỳ tài nguyên/tệp nào bạn muốn kiểm tra
Phần tốt nhất về WordPress là tính linh hoạt của nó, bao gồm khả năng thêm các chức năng của riêng bạn vào trang web của bạn. Tuy nhiên, đôi khi mã tùy chỉnh của bạn có thể không hoạt động vì chức năng mà nó đề cập đến không còn tồn tại nữa
Trong bài viết này, chúng tôi sẽ chỉ cho bạn cách dễ dàng kiểm tra xem một chức năng có tồn tại hay không trước khi thêm nó vào chủ đề WordPress của bạn hoặc một plugin dành riêng cho trang web
Tại sao lại thêm chức năng If vào mã tùy chỉnh của bạn
WordPress chủ yếu được viết bằng ngôn ngữ lập trình PHP. PHP là ngôn ngữ lập trình phía máy chủ chạy trên máy chủ của nhà cung cấp dịch vụ lưu trữ WordPress của bạn
Vì PHP phải chạy xong trước khi trang được tải trong trình duyệt của khách truy cập, nên có một số hạn chế nhất định đối với nó. Một trong những hạn chế đó là nếu xảy ra sự cố, nó có thể khiến toàn bộ trang không tải được
Trong WordPress, nếu một chức năng bị thiếu sẽ ngăn phần còn lại của mã chạy, thì nó sẽ tạm dừng và hiển thị một lỗi nghiêm trọng hoặc thông báo lỗi nghiêm trọng
Điều gì sẽ làm cho một chức năng đột nhiên ngừng hoạt động hoặc mất tích?
Đó là một lỗi WordPress phổ biến hơn bạn nghĩ. Ví dụ: giả sử một trong các plugin WordPress của bạn có chức năng mà bạn đã thêm vào khu vực chân trang của chủ đề
Vô hiệu hóa plugin sẽ làm cho chức năng biến mất và gây ra lỗi nghiêm trọng trên trang web WordPress của bạn
Như đã nói, chúng ta hãy xem cách dễ dàng kiểm tra xem một chức năng có tồn tại hay không trước khi thực thi nó trong các tệp chủ đề WordPress của bạn
Kiểm tra nếu một chức năng tồn tại trong WordPress
May mắn thay, ngôn ngữ lập trình PHP có sẵn một phương thức để dễ dàng kiểm tra sự tồn tại của một hàm trước khi thực thi nó
Giả sử bạn có chức năng WordPress hiển thị thời gian hiện tại với thông tin múi giờ. Đây là một đoạn mã mẫu mà bạn có thể sử dụng để thử
//display current time with timezone function wpb_show_timezone[] { $better_time = current_time['F j, Y g:i a e']; echo "The current time is " . $better_time ."
"; }
Để gọi chức năng này, bạn sẽ cần thêm đoạn mã sau vào bất kỳ đâu trong chủ đề WordPress của mình, nơi bạn muốn hiển thị thời gian hiện tại
Đây là giao diện trên trang web thử nghiệm của chúng tôi
Bây giờ nếu mã chịu trách nhiệm thực thi chức năng này biến mất, thì lệnh gọi chức năng sẽ phá vỡ trang web của bạn
Hãy thêm một kiểm tra để đảm bảo rằng mã này chỉ chạy khi chức năng tồn tại
Trong mã này, chúng tôi đang sử dụng hàm function_exists[]. Hàm này kiểm tra xem một hàm có tồn tại hay không và trả về Đúng hoặc Sai
Sau đó, chúng tôi đã thêm điều kiện if-else để thực hiện hành động thích hợp tùy thuộc vào tính khả dụng của hàm
Bây giờ, khi chức năng này không còn nữa, mã sẽ bỏ qua nó và WordPress sẽ có thể tải phần còn lại của trang web của bạn một cách bình thường
Chúng tôi hy vọng bài viết này đã giúp bạn tìm hiểu cách kiểm tra xem chức năng có tồn tại trong WordPress hay không. Bạn cũng có thể muốn xem hướng dẫn khắc phục sự cố WordPress hoàn chỉnh của chúng tôi hoặc xem bảng gian lận của chúng tôi dành cho nhà phát triển chủ đề WordPress
Nếu bạn thích bài viết này, vui lòng đăng ký Kênh YouTube của chúng tôi để xem các video hướng dẫn về WordPress. Bạn cũng có thể tìm thấy chúng tôi trên Twitter và Facebook