Comment changer le titre de la page 404


8

J'ai essayé de nombreuses méthodes après avoir cherché sur Internet mais je ne peux pas ramener Rien trouvé à partir de mon titre de page 404

même moi, nous l'avons dans mon en-tête de page 404 if( is_404() ) echo '404 message goes here | '; else wp_title( '|', true, 'right' );

j'ai aussi ramove fonction de titre php et cinq leur propre en-tête mais toujours pas changer pourquoi?

Réponses:


16

J'utiliserais le wp_titlecrochet du filtre:

function theme_slug_filter_wp_title( $title ) {
    if ( is_404() ) {
        $title = 'ADD 404 TITLE TEXT HERE';
    }
    // You can do other filtering here, or
    // just return $title
    return $title;
}
// Hook into wp_title filter hook
add_filter( 'wp_title', 'theme_slug_filter_wp_title' );

Cela fonctionnera bien avec d'autres plugins (par exemple les plugins SEO), et sera relativement compatible (les modifications du titre du document seront bientôt disponibles ).

ÉDITER

Si vous devez remplacer un filtre de plug-in de référencement, il vous suffit probablement d'ajouter une priorité inférieure à votre add_filter()appel; par exemple comme suit:

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

La valeur par défaut est 10. Les nombres inférieurs s'exécutent plus tôt (par exemple, une priorité plus élevée) et les nombres plus élevés s'exécutent plus tard (par exemple, une priorité plus faible ). Donc, en supposant que votre plug-in SEO utilise la priorité par défaut (c'est-à-dire 10), utilisez simplement un nombre qui est 11 ou plus.


Merci qui n'a pas changé à cause de mon plugin seo mais merci pour la réponse :) Mais maintenant j'ai un problème de plus ma page 404 donne une réponse d'en-tête 404 comment puis-je changer cela?
Realcoder

Le plugin SEO utilise presque certainement le wp_titlefiltre. Si vous devez le remplacer, ajoutez une priorité à votre add_filter()appel. Voir la mise à jour des réponses.
Chip Bennett du

Ajouter une priorité plus élevée a fait l'affaire pour moi.
Alex

2

WordPress 4.4 et supérieur

La réponse acceptée ne fonctionne plus car elle wp_titleest déconseillée dans WordPress 4.4 et versions ultérieures ( voir ici ). Nous devons maintenant utiliser le crochet de filtre document_title_parts à la place.

Voici la réponse acceptée réécrite à utiliser document_title_parts.

function theme_slug_filter_wp_title( $title_parts ) {
    if ( is_404() ) {
        $title_parts['title'] = 'ADD 404 TITLE TEXT HERE';
    }

    return $title_parts;
} 

// Hook into document_title_parts
add_filter( 'document_title_parts', 'theme_slug_filter_wp_title' );

0

Le code suivant fonctionne très bien avec le thème des vingt-onze:

if ( is_404() ) { 
  echo __('Nothing Found','mytheme')
}

Le code du titre ressemble donc à ceci:

<title>
<?php 

global $page, $paged;

if ( is_404() ) { 
  echo __('Nothing Found | ','mytheme');
}
else {
  wp_title( '|', true, 'right' );
} 

?>
</title>

3
Je recommande fortement de toujours sortir du <title>texte en utilisant la wp_title()fonction, soit en passant un argument, soit en utilisant le wp_titlehook de filtre, afin que le code joue bien avec d'autres plugins qui tentent de modifier le <title>texte.
Chip Bennett du

Merci qui ne changeait pas à cause de mon plugin seo mais merci pour la réponse :)
realcoder

Mais maintenant, j'ai un problème de plus, ma page 404 donne une réponse d'en-tête 404 comment puis-je changer cela?
Realcoder
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.