WordPress wp titre blanc sur la page d'index

Je suis nouveau à WordPress et vient d'installer la version 3.3.1.

j'ai fait quelques recherches sur Google à propos de cette question et j'ai trouvé des réponses mais elles étaient pertinentes à la version 2.7 et avaient 2-3 ans.

en gros, le wp_title fonction fonctionne très bien sur toutes les pages sauf la page d'accueil où il renvoie vide et je n'ai pas de titre que ce soit. Je pourrais juste coder le titre, mais je préfère ne pas le faire.

<!-Ligne de code coupable:

<title><?php wp_title ( '| So Fresh n' So Clean', true,'right' ); ?></title>

je Je n'ai rien trouvé à propos de ce problème qui se passe en 3.3.1 donc clairement j'ai fait quelque chose de mal.

36
demandé sur Volker E. 2012-01-29 21:11:27

11 réponses

voici ce que j'ai lu de Codex:

si vous utilisez une page d'accueil personnalisée avec des boucles et des trucs personnalisés, vous aura un vide wp_title. Voici un hack soigné pour ajouter le description / tagline au wp_title place sur la page d'accueil:

<title><?php bloginfo('name'); ?> | <?php is_front_page() ? bloginfo('description') : wp_title(''); ?></title>

alors utilisez is_front_page() pour obtenir le titre sur la page d'accueil, la façon dont il est suggéré dans le code ci-dessus.

99
répondu Amna Ahmed 2014-11-19 08:39:46

mais si vous utilisez une page d'accueil statique, voici le code:

<title><?php bloginfo('name'); ?> &raquo; <?php is_front_page() ? bloginfo('description') : wp_title(''); ?></title>
13
répondu danielgc 2012-10-11 06:58:07

en partant de la réponse D'Amna, j'ai trouvé le code suivant qui devrait afficher le titre de la page quand il y en a un, suivi du nom du site.

<?php wp_title(' - ',TRUE,'right'); bloginfo('name'); ?>

Post/Page De Sortie: "Le Titre De La Page - Nom Du Site"

Page D'Accueil De Sorties: "Nom Du Site"


Évidemment, cela peut aussi être échangé pour afficher le nom du site en premier.

<?php bloginfo('name'); wp_title(' - '); ?>

Post/Page De Sortie: "Nom Du Site - Le Titre De La Page"

Page D'Accueil De Sorties: "Site Le nom de"


cela peut aussi être combiné avec une condition pour afficher la description du site lors de la visualisation de la page d'accueil.

<?php bloginfo('name'); echo ' - '; is_front_page() ? bloginfo('description') : wp_title(''); ?>

Post/Page De Sortie: "Nom Du Site - Le Titre De La Page"

Page D'Accueil De Sorties: "Nom Du Site - La Description Du Site"

7
répondu ian.pvd 2014-06-11 13:58:22

mise à Jour

Essayez ceci

function some_name(){
    add_theme_support( 'title-tag' );
}

add_action( 'after_setup_theme', some_name );

le Faire dans les fonctions.php et supprimer "titre" de la balise de la tête...

7
répondu waLL e 2018-02-09 21:11:42

Pour la recherche google sur wordpress wp_title vide c'est le premier résultat. J'ai donc pensé que je pourrais partager la solution la plus élégante pour cela.

Dans les fonctions.php ajouter un filtre pour wp_title.

function custom_wp_title( $title, $sep ) {
    if ( is_feed() ) {
        return $title;
    }

    global $page, $paged;

    // Add the blog name
    $title .= get_bloginfo( 'name', 'display' );

    // Add the blog description for the home/front page.
    $site_description = get_bloginfo( 'description', 'display' );
    if ( $site_description && ( is_home() || is_front_page() ) ) {
        $title .= " $sep $site_description";
    }

    // Add a page number if necessary:
    if ( ( $paged >= 2 || $page >= 2 ) && ! is_404() ) {
        $title .= " $sep " . sprintf( __( 'Page %s', '_s' ), max( $paged, $page ) );
    }

    return $title;
}
add_filter( 'wp_title', 'custom_wp_title', 10, 2 );
3
répondu BogdanD 2014-09-29 08:48:06

j'utilise celui-ci et il n'a jamais manqué:

    function pageTitle($echo){
        $title = "";

        global $paged;
        if (function_exists('is_tag') && is_tag()) {        
            $title .= single_tag_title(__("Tag Archive for &quot;" , 'circle'),false); 
            $title .= '&quot; - '; 
        }
        elseif (is_archive()) {
            $title .= wp_title('',true); 
            //$title .= __(' Archive - ' , 'circle');
            $title .= __(' - ' , 'circle');

        }
        elseif (is_search()) {
        $title .= __('Search for &quot;' , 'circle') . esc_html(get_search_query()).'&quot; - '; 
        }
        elseif (!(is_404()) && (is_single()) || (is_page())) {
            $title .= wp_title('',true); 
            $title .= ' - '; 
        }
        elseif (is_404()) {
            $title .= __('Not Found - ' , 'circle'); 
        }
        if (is_home()) {
            $title .= get_bloginfo('name'); 
            $title .= ' - '; 
            $title .= get_bloginfo('description'); 
        }
        else {
            $title .= get_bloginfo('name'); 
        }
        if ($paged>1) {
            $title .= ' - page ' . $paged; 
        }

        if ( !$echo ) return $title;
        echo $title;
    }

notez qu'il y a des domaines de traduction que vous pourriez vouloir changer.

1
répondu pie6k 2014-08-19 15:48:07

Le nouveau hack du Codex est comme suit:

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

puis dans vos " fonctions.php" à partir de fichier de thème :

add_filter( 'wp_title', 'baw_hack_wp_title_for_home' );
function baw_hack_wp_title_for_home( $title )
{
  if( empty( $title ) && ( is_home() || is_front_page() ) ) {
    return __( 'Home', 'theme_domain' ) . ' | ' . get_bloginfo( 'description' );
  }
  return $title;
}
1
répondu ed-ta 2015-06-29 22:34:08

j'utilise cette méthode dans mon site WordPress

//Meta Header
if ( ! function_exists( 'dima_wp_title' ) ) :
  function dima_wp_title( $title ) {

    if ( is_front_page() ) {
      return get_bloginfo( 'name' ) . ' | ' . get_bloginfo( 'description' );
    } elseif ( is_feed() ) {
      return ' | RSS Feed';
    } else {
      return trim( $title ) . ' | ' . get_bloginfo( 'name' ); 
    }

  }
  add_filter( 'wp_title', 'dima_wp_title' );
endif;
0
répondu Adel 2015-11-16 07:42:08

Fin de la conversation...

Mais si vous voulez utiliser le titre de la page que vous êtes en utilisant pour la page d'accueil statique, vous pouvez utiliser le code suivant:

if (is_front_page())
{
    $title = single_post_title( '', false );
}

bien que, dans la source actuelle pour wp_title (), il y ait ce qui suit, spécifiquement désactivant ceci pour la page de couverture statique:

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

je soupçonne qu'il ya de bonnes raisons pour cela. Donc, procédez avec prudence.

0
répondu Jahmic 2016-03-31 07:32:25

mes 2 cents pour le thème "misty lake" qui n'avait aucun titre sur la page d'accueil et a ajouté un titre incorrect sur toutes les autres pages.

il suffit de supprimer la ligne suivante de l'en-tête.php résout le problème, depuis Wordpress injecte maintenant le tag par lui-même:

<title><?php wp_title( '|', true, 'right' ); ?></title>

j'ai consulté la page suivante – https://make.wordpress.org/themes/2015/08/25/title-tag-support-now-required/

0
répondu Misha Reyzlin 2016-10-04 20:04:23

Vous pouvez aussi mettre quelque chose comme ça dans votre étiquette de titre:

<?php 
    if (is_front_page()) { ?> 
        Home | <?php bloginfo('description'); 
    } else {
        wp_title('|', 'true', 'right'); bloginfo('description');
    } ?>
0
répondu Kirby 2018-09-19 17:02:51