หน้าแสดงข้อผิดพลาดจะถูกใช้งานผ่าน. HTML, หากคุณใช้ Apache คุณจะต้องใช้ErrorDocument
คำสั่งและเพิ่มสถานะและ URL ลงไป
ดังนั้นจะมีลักษณะเช่นนี้ในไฟล์. htaccess ของคุณ:
ErrorDocument 401 http://yourwebsite.com/error-401
ErrorDocument 403 http://yourwebsite.com/error-403
ErrorDocument 500 http://yourwebsite.com/error-500
คุณสามารถใช้ฟังก์ชั่นต่อไปนี้ด้านล่าง สิ่งนี้จะเพิ่มสิ่งที่จำเป็นในไฟล์ HTACCESS ให้คุณแบบไดนามิกหรือคุณสามารถทำได้ด้วยตนเอง
1. เพิ่มหน้า:
จากนั้นคุณจะต้องเข้าไปที่หน้าแดชบอร์ดของคุณและสร้างหน้าเช่นหน้าปกติ ('แดชบอร์ด'> 'หน้า'> 'ใหม่') พวกเขาสามารถตั้งชื่อสิ่งที่คุณต้องการเพียงให้แน่ใจว่าทากนั้นเหมือนกับฟังก์ชั่นด้านล่าง (Slug: error-401, error-403, error-404, error-500) นอกจากนี้คุณสามารถใช้เทมเพลตหน้าเพื่อสร้างเลย์เอาต์และสไตล์ที่คุณต้องการสำหรับเพจเฉพาะเหล่านี้ ทำตามคำแนะนำWordPress Codexสำหรับสิ่งนี้
2. เพิ่มฟังก์ชั่น:
// Create Custom Error Pages in WordPress using HTACCESS
function royal_custom_error_pages() {
// Get HTACCESS path & dynamic website url
$htaccess_file = '.htaccess';
$website_url = get_bloginfo('url').'/';
// Check & prevent writing error pages more than once
$check_file = file_get_contents($htaccess_file);
$this_string = '# BEGIN WordPress Error Pages';
if( strpos( $check_file, $this_string ) === false) {
// Setup Error page locations dynamically
$error_pages .= PHP_EOL. PHP_EOL . '# BEGIN WordPress Error Pages'. PHP_EOL. PHP_EOL;
$error_pages .= 'ErrorDocument 401 '.$website_url.'error-401'.PHP_EOL;
$error_pages .= 'ErrorDocument 403 '.$website_url.'error-403'.PHP_EOL;
$error_pages .= 'ErrorDocument 404 '.$website_url.'error-404'.PHP_EOL;
$error_pages .= 'ErrorDocument 500 '.$website_url.'error-500'.PHP_EOL;
$error_pages .= PHP_EOL. '# END WordPress Error Pages'. PHP_EOL;
// Write the error page locations to HTACCESS
$htaccess = fopen( $htaccess_file, 'a+');
fwrite( $htaccess, $error_pages );
fclose($htaccess);
}
}
add_action('init','royal_custom_error_pages'); // This will run the function everytime, not ideal!
// register_activation_hook( __FILE__, 'royal_custom_error_pages' ); // Using a plugin, runs only once!
NB !! หมายเหตุในฟังก์ชั่นข้างต้น
เมื่อย้ายเว็บไซต์ของคุณหรือเปลี่ยนโครงสร้าง URL
สิ่งที่ต้องจำไว้กับฟังก์ชั่นด้านบนคือแม้ว่ามันจะตรวจสอบเพื่อดูว่าคำสั่ง ErrorDocument มีอยู่แล้วก่อนที่จะเขียนไปยังไฟล์ HTACCESS ของคุณมันจะไม่เขียนคำสั่ง ErrorDocument อีกครั้งหากคุณเปลี่ยนหรือย้ายบล็อกของคุณ คุณจะต้องลบคำสั่ง ErrorDocument ที่มีอยู่ในไฟล์ HTACCESS ของคุณก่อนจากนั้นเรียกใช้ฟังก์ชันนี้อีกครั้งเพื่อสร้างคำสั่งใหม่
แก้ไข Hook เพื่อใช้งานฟังก์ชันเพียงครั้งเดียวเท่านั้น
สิ่งอื่นที่ควรทราบคือฟังก์ชั่นนี้การใช้init
แอคชั่นจะทำงานทุกครั้งที่หน้าเว็บของคุณโหลดซึ่งไม่จำเป็นและสิ้นเปลืองมากดังนั้นฉันขอแนะนำให้เพิ่มเข้าไปในปลั๊กอินและใช้ส่วนที่register_activation_hook
ค่อนข้างมาก
สิทธิ์ของไฟล์
นอกจากนี้มีความจำเป็นที่. htaccess ของคุณสามารถเขียนได้เมื่อใช้ฟังก์ชั่นด้านบนดังนั้นตรวจสอบให้แน่ใจว่ามีการอนุญาตไฟล์ที่ถูกต้องเช่น CHMOD777