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?

realcoder
la source

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.

Chip Bennett
la source
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' );
Swen
la source
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>
dwaser
la source
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