wake-up-neo.com

WordPress wp_title auf Indexseite leer

Ich bin neu in WordPress und habe gerade Version 3.3.1 installiert.

Ich habe über diese Frage gegoogelt und einige Antworten gefunden, die jedoch für Version 2.7 relevant waren und 2-3 Jahre alt waren.

Grundsätzlich funktioniert die wp_title-Funktion auf jeder Seite, außer auf meiner Homepage, wo sie leer ist und ich keinen Titel bekomme. Ich könnte den Titel einfach hart programmieren, aber ich würde das lieber nicht tun.

Schuldige Codezeile: 

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

Ich konnte in 3.3.1 nichts zu diesem Problem finden, also habe ich offensichtlich etwas falsch gemacht.

36
nmford

Folgendes habe ich aus Codex gelesen:

Wenn Sie eine benutzerdefinierte Homepage mit benutzerdefinierten Loops und so verwenden, können Sie. wird einen leeren wp_title haben. Hier kommt ein ordentlicher Hack zum Hinzufügen der description/tagline am wp_title-Platz auf der Homepage:

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

Verwenden Sie also is_front_page(), um den Titel auf der Startseite abzurufen.

99
Amna Ahmed

Wenn Sie jedoch eine statische Startseite verwenden, ist dies der Code:

<title><?php bloginfo('name'); ?> &raquo; <?php is_front_page() ? bloginfo('description') : wp_title(''); ?></title>
13
danielgc

Update Für WordPress-Versionen (> = 4.4) 

Versuche dies

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

add_action( 'after_setup_theme', 'some_name' );

Tun Sie dies in functions.php und entfernen Sie das 'title'-Tag von head ...

9
waLL e

Als Antwort auf Amnas Antwort kam mir der folgende Code, der den Seitentitel anzeigen sollte, wenn es einen gibt, gefolgt vom Namen der Site.

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

Post/Page-Ausgaben: "Der Seitentitel - Site-Name"

Homepage-Ausgaben: "Site-Name"


Natürlich kann dies auch ausgetauscht werden, um zuerst den Site-Namen anzuzeigen.

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

Post/Page-Ausgaben: "Site-Name - Der Seitentitel"

Homepage-Ausgaben: "Site-Name"


Dies kann auch mit einer Bedingung kombiniert werden, um die Site-Beschreibung beim Anzeigen der Startseite anzuzeigen.

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

Post/Page-Ausgaben: "Site-Name - Der Seitentitel"

Homepage-Ausgaben: "Site-Name - Die Site-Beschreibung"

7
ian.pvd

Für die Google-Suche auf WordPress wp_title empty ist dies das erste Ergebnis. Also dachte ich, dass ich die eleganteste Lösung dafür teile.
Fügen Sie in functions.php einen Filter für wp_title hinzu.

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
BogdanD

Der neue Hack von Codex lautet wie folgt:

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

Dann in deiner "functions.php" aus der Theme-Datei:

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
ed-ta

Ich benutze dieses und es ist nie versagt:

    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;
    }

Beachten Sie, dass Übersetzungsdomänen vorhanden sind, die Sie möglicherweise ändern möchten.

1
pie6k

Sie könnten auch so etwas in Ihr Titel-Tag einfügen: 

<?php 
    if (is_front_page()) { ?> 
        Home | <?php bloginfo('description'); 
    } else {
        wp_title('|', 'true', 'right'); bloginfo('description');
    } ?>
0
Kirby

Meine 2 Cent für "Misty Lake" - Thema, das keinen Titel auf der Startseite hatte und auf allen anderen Seiten einen falschen Titel hinzugefügt hat.

Durch das Entfernen der folgenden Zeile aus der Datei header.php wird das Problem behoben, da Wordpress das Tag jetzt selbst einfügt:

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

Ich habe die folgende Seite konsultiert - https://make.wordpress.org/themes/2015/08/25/title-tag-support-now-required/

0
Misha Reyzlin

Ich verwende diese Methode in meiner WordPress-Site 

//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
Adel

Spät zum Gespräch ...

Wenn Sie jedoch den tatsächlichen Titel der Seite verwenden möchten, die Sie für die statische Startseite verwenden, können Sie Folgendes verwenden:

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

In der eigentlichen Quelle für wp_title () gibt es zwar Folgendes, das speziell für die statische Startseite deaktiviert wird:

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

Ich vermute, dass es einen guten Grund dafür gibt. Gehen Sie also vorsichtig vor.

0
Jahmic