Come Modificare il Titolo della Pagina 404

12 ott 2011, 15:00:50
Visualizzazioni: 21.9K
Voti: 10

Ho provato diversi metodi dopo aver cercato su internet ma non riesco a rimuovere "Nothing Found" dal titolo della mia pagina 404. Come posso farlo? Per favore aiutatemi

Ho anche utilizzato questo codice nell'header della mia pagina 404 if( is_404() ) echo 'il messaggio 404 va qui | '; else wp_title( '|', true, 'right' );

Ho anche rimosso la funzione php del titolo e ho inserito il mio header personalizzato ma continua a non cambiare, perché?

0
Tutte le risposte alla domanda 3
3
17

Userei l'hook filter wp_title:

function theme_slug_filter_wp_title( $title ) {
    if ( is_404() ) {
        $title = 'AGGIUNGI QUI IL TESTO DEL TITOLO 404';
    }
    // Puoi fare altri filtri qui, oppure
    // semplicemente restituire $title
    return $title;
}
// Aggancia all'hook filter wp_title
add_filter( 'wp_title', 'theme_slug_filter_wp_title' );

Questo funzionerà bene con altri Plugin (ad es. Plugin SEO), e sarà relativamente compatibile con il futuro (le modifiche al titolo del documento arriveranno presto).

MODIFICA

Se hai bisogno di sovrascrivere un filtro di un Plugin SEO, probabilmente ti basta aggiungere una priorità più bassa alla tua chiamata add_filter(); ad esempio come segue:

add_filter( 'wp_title', 'theme_slug_filter_wp_title', 11 );

Il valore predefinito è 10. Numeri più bassi vengono eseguiti prima (ad es. priorità più alta), mentre numeri più alti vengono eseguiti dopo (ad es. priorità più bassa). Quindi, assumendo che il tuo Plugin SEO usi la priorità predefinita (cioè 10), basta usare un numero pari a 11 o superiore.

12 ott 2011 16:19:54
Commenti

Grazie, il problema non era dovuto al mio plugin SEO ma grazie per la risposta :) Ora ho un altro problema la mia pagina 404 restituisce un header di risposta 404, come posso cambiarlo?

realcoder realcoder
12 ott 2011 16:57:12

Il plugin SEO sta quasi certamente usando il filtro wp_title. Se hai bisogno di sovrascriverlo, aggiungi una priority alla tua chiamata add_filter(). Vedi l'aggiornamento della risposta.

Chip Bennett Chip Bennett
12 ott 2011 18:56:37

Aggiungere una priorità più alta ha risolto il problema per me.

Alex Alex
21 apr 2017 17:44:26
1

WordPress 4.4 e versioni successive

La risposta accettata non funziona più poiché wp_title è deprecato in WordPress 4.4 e versioni successive (vedi qui). Ora dobbiamo utilizzare l'hook filter document_title_parts invece.

Ecco la risposta accettata riscritta per utilizzare document_title_parts.

function theme_slug_filter_wp_title( $title_parts ) {
    if ( is_404() ) {
        $title_parts['title'] = 'INSERISCI QUI IL TESTO DEL TITOLO PER ERRORE 404';
    }

    return $title_parts;
} 

// Aggancio a document_title_parts
add_filter( 'document_title_parts', 'theme_slug_filter_wp_title' );
20 dic 2017 18:15:09
Commenti

Grazie, sai se hanno cambiato qualcosa in WP 6.4? Non riesco a farlo funzionare. Questo codice va inserito in functions.php, giusto?

Violet Giraffe Violet Giraffe
30 nov 2023 12:42:38
3

Il seguente codice funziona correttamente con il tema twenty eleven:

if ( is_404() ) { 
  echo __('Nessun risultato trovato','mytheme')
}

Quindi il codice per il titolo sarà il seguente:

<title>
<?php 

global $page, $paged;

if ( is_404() ) { 
  echo __('Nessun risultato trovato | ','mytheme');
}
else {
  wp_title( '|', true, 'right' );
} 

?>
</title>
12 ott 2011 16:03:33
Commenti

Consiglio fortemente di generare sempre il testo del tag <title> utilizzando la funzione wp_title(), sia passando un argomento che utilizzando l'hook filter wp_title, in modo che il codice funzioni correttamente con altri plugin che tentano di modificare il testo del tag <title>.

Chip Bennett Chip Bennett
12 ott 2011 16:20:53

Grazie, non cambiava a causa del mio plugin SEO ma grazie per la risposta :)

realcoder realcoder
12 ott 2011 16:56:58

Ma ora ho un altro problema: la mia pagina 404 restituisce un header response 404, come posso cambiarlo?

realcoder realcoder
12 ott 2011 16:58:10