web-dev-qa-db-fra.com

Supprimer le nom du site de la balise <title>

Mes tags <title> actuels sont comme ceci:

Titre de l'article de blog | Nom du site

Comment puis-je supprimer "Nom du site" afin que les balises <title> soit comme ceci:

Titre de l'article de blog

Sauf, bien sûr, sur la page de couverture, où la balise <title> devrait être:

Nom du site

S'il vous plaît prendre en compte que je suis un débutant complet Wordpress.


Edit: Voici ma balise <title> actuelle de header.php:

<title>
<?php
if ( defined( 'WPSEO_VERSION' ) ) {
    // WordPress SEO is activated
        wp_title();

} else {

    // WordPress SEO is not activated
    wp_title( '&#124;', true, 'right' );
}
?>
</title>
3
Miscreant

La meilleure (et la plus simple) chose à faire est d’utiliser le wp_title filter .

Commencez par nettoyer votre appel à <?php wp_title(); ?> dans votre modèle. Remplacez ce que vous avez par ceci:

 wp_title( '&#124;', true, 'right' );

Ensuite, dans functions.php (ou dans un thème enfant functions.php; des mises en garde normales s'appliquent), ajoutez ce qui suit:

function wpse95147_filter_wp_title( $title ) {
    if ( is_single() || ( is_home() && !is_front_page() ) || ( is_page() && !is_front_page() ) ) {
        $title = single_post_title( '', false );
    }
    return $title;
}
add_filter( 'wp_title', 'wpse95147_filter_wp_title' );

Ce filtre écrasera complètement la sortie $title dans des contextes d'une seule page. ( Le conditionnel réel provient directement de core , à partir de la définition de fonction wp_title() elle-même.)

La dernière fois que j'ai coché, WordPress n'indique pas le titre du site dans wp_title(); donc si vous voyez cela, quelque chose l'ajoute (peut-être votre thème?). Néanmoins, si vous voulez le sortir, écrivez simplement une condition complémentaire dans le filtre ci-dessus; par exemple.:

function wpse95147_filter_wp_title( $title ) {
    if ( is_single() || ( is_home() && !is_front_page() ) || ( is_page() && !is_front_page() ) ) {
        $title = single_post_title( '', false );
    }
    if ( is_front_page() && ! is_page() ) {
        $title = esc_attr( get_bloginfo( 'name' ) );
    }
    return $title;
}
add_filter( 'wp_title', 'wpse95147_filter_wp_title' );
6
Chip Bennett

Ajouter cette ligne dans votre fichier header.php

<title><?php wp_title();?></title>

Ajouter le code ci-dessous dans le fichier functions.php du thème

function your_wp_title( $title, $sep ) {
    global $paged, $page;
    if(is_front_page()){        
        $title = get_bloginfo( 'name' );   
        return $title;
    } else {
        if ( is_feed() )            
        // Add the site name.
        return $title;
    }
}
add_filter( 'wp_title', 'your_wp_title', 10, 2 );

Référence: http://codex.wordpress.org/Plugin_API/Filter_Reference/wp_title

1
dipali

Sur mon fichier template header.php, j'ai remplacé la ligne de titre par ceci

<title><?php is_front_page() ? woo_title() : wp_title( '' ); ?></title>

Dans mon cas, j'utilise un modèle woothemes, c'est pourquoi cette sortie woo_title ().

Ici, vous pouvez cocher sur une seule ligne si vous êtes sur la page d’accueil. Si la valeur est true, vous pouvez autoriser l’affichage du titre du blog/site. Si false, indiquez le titre sans le nom du site.

0
elvismdev

j'avais ce problème avec les articles, j'ai donc cherché dans Internet et j'ai créé un petit plugin qui supprime le nom du blog des articles.

########### start remove blog title from posts #######
 function wp_abdul0201_wp_title( $title ) {
    if ( is_single() ) {
        $title = single_post_title( '', false );
    }
    return $title;
}
add_filter( 'pre_get_document_title', 'wp_abdul0201_wp_title' );
########### end remove blog title from posts #######

s'il vous plaît notince ce code

if ( is_single() )

il ne s'applique qu'aux titres de poste, vous pouvez ajouter plus de codition comme

if ( is_single() || is_archive ) 

ici, j'ai ajouté des pages d'archives aussi, j'espère que vous avez une idée générale de son fonctionnement