Cómo Cambiar el título de la página 404
He intentado varios métodos después de buscar en internet pero no puedo eliminar "Nothing Found" del título de mi página 404. ¿Cómo puedo hacerlo? Por favor, ayúdenme.
Incluso he usado esto en el encabezado de mi página 404:
if( is_404() ) echo 'mensaje 404 aquí | ';
else wp_title( '|', true, 'right' );
También eliminé la función php del título y coloqué mi propio encabezado pero aún no cambia, ¿por qué?

Yo usaría el hook de filtro wp_title
:
function theme_slug_filter_wp_title( $title ) {
if ( is_404() ) {
$title = 'AÑADE AQUÍ EL TEXTO DEL TÍTULO PARA 404';
}
// Puedes hacer otros filtros aquí, o
// simplemente devolver $title
return $title;
}
// Engancha el filtro al hook wp_title
add_filter( 'wp_title', 'theme_slug_filter_wp_title' );
Esto funcionará bien con otros plugins (por ejemplo, plugins de SEO), y será relativamente compatible con futuras versiones (próximamente habrá cambios en el título del documento).
EDITADO
Si necesitas anular el filtro de un Plugin de SEO, probablemente solo necesites agregar una prioridad más baja a tu llamada add_filter()
; por ejemplo, así:
add_filter( 'wp_title', 'theme_slug_filter_wp_title', 11 );
El valor por defecto es 10
. Los números más bajos se ejecutan antes (es decir, tienen mayor prioridad), y los números más altos se ejecutan después (es decir, tienen menor prioridad). Entonces, asumiendo que tu Plugin de SEO usa la prioridad por defecto (es decir, 10
), simplemente usa un número que sea 11 o superior.

Gracias, eso no estaba cambiando por mi plugin de SEO pero gracias por la respuesta :) Pero ahora tengo otro problema mi página 404 da una respuesta de encabezado 404, ¿cómo puedo cambiar eso?

El plugin de SEO casi seguro está usando el filtro wp_title
. Si necesitas anularlo, agrega una prioridad a tu llamada add_filter()
. Consulta la actualización de la respuesta.

WordPress 4.4 y versiones posteriores
La respuesta aceptada ya no funciona ya que wp_title
está obsoleto en WordPress 4.4 y versiones posteriores (ver aquí). Ahora debemos usar el hook de filtro document_title_parts en su lugar.
Aquí está la respuesta aceptada reescrita para usar document_title_parts
.
function theme_slug_filter_wp_title( $title_parts ) {
if ( is_404() ) {
$title_parts['title'] = 'AÑADE AQUÍ EL TEXTO DEL TÍTULO PARA ERROR 404';
}
return $title_parts;
}
// Conectar al filtro document_title_parts
add_filter( 'document_title_parts', 'theme_slug_filter_wp_title' );

El siguiente código funciona correctamente con el tema Twenty Eleven:
if ( is_404() ) {
echo __('No se encontró nada','mytheme')
}
Por lo tanto, el código del título se ve así:
<title>
<?php
global $page, $paged;
if ( is_404() ) {
echo __('No se encontró nada | ','mytheme');
}
else {
wp_title( '|', true, 'right' );
}
?>
</title>

Yo recomiendo encarecidamente siempre mostrar el texto de <title>
usando la función wp_title()
, ya sea pasando un argumento o usando el hook de filtro wp_title
, para que el código funcione correctamente con otros plugins que intentan modificar el texto de <title>
.

Gracias, eso no estaba cambiando debido a mi plugin de SEO, pero gracias por la respuesta :)
