0

カスタム WordPress テーマでタイトルを正しく表示することができません。title 属性は次のように設定されます。<title><?php wp_title( '|', true, 'right' ); ?></title>

そのコードは 2012 年のテーマからそのまま引用しました。2012 テーマをアクティブにすると、タイトルは完璧に見えますが、上記の同じコードでカスタム テーマを使用すると、ホームページのタイトルとして自分の Web サイトのアドレスを取得し、他のすべてのページではページ名を取得するだけです。 「 | 」が続きます。これを引き起こしている可能性のあるものについて何か考えはありますか? 2 番目のタイトル タグを探しましたが、今のところ何もありません。それは私のSEOを台無しにします。

これを functions.php に追加しました:

function twentytwelve_wp_title( $title, $sep ) {
    global $paged, $page;

    if ( is_feed() )
        return $title;

    // Add the site name.
    $title .= get_bloginfo( 'name' );

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

    // Add a page number if necessary.
    if ( $paged >= 2 || $page >= 2 )
        $title = "$title $sep " . sprintf( __( 'Page %s', 'twentytwelve' ), max( $paged, $page ) );

    return $title;
}
add_filter( 'wp_title', 'twentytwelve_wp_title', 10, 2 );
4

1 に答える 1

1

ブログ名がありません。そのため、ページタイトルのみが表示されます。次のようなアイデアを試してみてください。

<title>
    <?php
    bloginfo( 'name' );
    echo " | ";
    if ( is_home() ) {
      _e( "Home" );
    }
    else {
      // Get the custom Title for this page, if any.
      if ( defined( 'Title' ) ) {
        $LimitWords = Title;
        echo string_limit_words( $LimitWords, 4 ) . " ...";
      }
      else {
      // Get the default Title
        $LimitWords = wp_title( '', FALSE );
        echo string_limit_words( $LimitWords, 4 ) . " ...";
      }
    }
    ?>
  </title>

そのコードを機能させるには、次functions.phpの関数をスタイルシートディレクトリに追加する必要があります。

  if ( !function_exists( 'string_limit_words' ) ) {
    function string_limit_words( $string, $word_limit ) {
      $words = explode( ' ', $string, ( $word_limit + 1 ) );
      if ( count( $words ) > $word_limit ) array_pop( $words );
      return implode( ' ', $words );
    }
  }
于 2012-12-23T06:00:22.737 に答える