Las páginas de error se sirven a través de .HTACCESS, si está usando Apache, usaría la ErrorDocument
directiva y agregaría el estado y la URL.
Así se vería así en su archivo .htaccess:
ErrorDocument 401 http://yourwebsite.com/error-401
ErrorDocument 403 http://yourwebsite.com/error-403
ErrorDocument 500 http://yourwebsite.com/error-500
Puede usar la siguiente función a continuación. Esto agregará dinámicamente lo que se necesita al archivo HTACCESS para usted o podría hacerlo manualmente.
1. Añadir páginas:
Luego, deberá ingresar a su Tablero y crear las Páginas como cualquier página normal ('Tablero'> 'Páginas'> 'Nuevo'). Pueden titularse como quieras, solo asegúrate de que el slug sea el mismo que en la función a continuación (Slug: error-401, error-403, error-404, error-500). También puede usar la plantilla de página para crear cualquier diseño y estilo que desee para estas páginas específicas. Siga las instrucciones del Codex de WordPress para esto.
2. Agregar función:
// 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!
¡¡NÓTESE BIEN!! NOTAS SOBRE LA FUNCIÓN ANTERIOR
Al mover su sitio web o cambiar la estructura de URL
Lo que debe recordar con la función anterior es que, aunque verificará si las directivas ErrorDocument ya existen antes de escribirlas en su archivo HTACCESS, no reescribirá las directivas ErrorDocument si cambia o mueve su blog para reflejar las ubicaciones actualizadas de las páginas. Debería eliminar primero las directivas ErrorDocument existentes en su archivo HTACCESS y luego volver a ejecutar esta función para crear las nuevas directivas.
Gancho correcto para activar la función SOLO UNA VEZ
La otra cosa a tener en cuenta es esta función, el uso de la init
acción se ejecutará cada vez que se carguen sus páginas, lo que es super innecesario y derrochador, por lo que sugeriría agregarlo a un complemento y usarlo register_activation_hook
para que solo se active una vez en la activación del complemento
Permisos de archivo
También es imperativo que su .htaccess sea editable cuando use la función anterior, así que asegúrese de que tenga los permisos de archivo correctos, algo así como CHMOD777.