Pregunta:
¿Hay alguna forma de mostrar una página 404 si el usuario que ha iniciado sesión actualmente no tiene la autorización adecuada para ver la página? Estoy buscando un método PHP, algo como
if( !current_user_can('administrator') ) { show_404(); exit(); }
He pensado en utilizar una redirección, pero me gustaría mantener la URL igual.
Respuesta:
Pude mostrar un error 404 usando el siguiente código en mi encabezado.
<?php
global $wp_query;
$wp_query->set_404();
status_header( 404 );
get_template_part( 404 ); exit();
?>
Para desglosarlo:
$wp_query->set_404()
: le dice a wp_query que este es un 404, esto cambia el título
status_header()
: envía un encabezado HTTP 404
get_template_part()
: muestra la plantilla 404