web-dev-qa-db-ja.com

WordPressインデックスページでwp_title空白

WordPressが初めてで、バージョン3.3.1をインストールしたばかりです。

私はこの質問に関していくつかのグーグル検索を行い、いくつかの回答を見つけましたが、それらはバージョン2.7に関連しており、2〜3歳でした。

基本的に、wp_title関数は、空白を返すホームページを除くすべてのページで正常に機能し、タイトルがまったく表示されません。タイトルをハードコーディングすることはできましたが、それは避けたいです。

有罪のコード行:

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

3.3.1で起こっているこの問題に関して何も見つけられなかったので、明らかに間違ったことをしました。

38
nmford

これが私が Codex から読んだものです:

カスタムループなどを備えたカスタムホームページを使用している場合、空の_wp_title_があります。ホームページの_wp_title_の場所に説明/タグラインを追加するためのきちんとしたハックがあります:

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

したがって、is_front_page()を使用して、上記のコードで提案されている方法でホームページのタイトルを取得します。

104
Amna Ahmed

しかし、静的なホームページを使用する場合、これはコードです:

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

更新 for WordPressバージョン(> = 4.4)

これを試して

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

add_action( 'after_setup_theme', 'some_name' );

Functions.phpでこれを行い、headから 'title'タグを削除します...

9
waLL e

Amnaの答えに答えて、ページタイトルがある場合はページ名を表示し、その後にサイト名を表示する次のコードを思い付きました。

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

投稿/ページ出力:「ページタイトル-サイト名」

ホームページの出力:「サイト名」


明らかに、これは最初にサイト名を表示するために交換することもできます。

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

投稿/ページ出力:「サイト名-ページタイトル」

ホームページの出力:「サイト名」


これを条件と組み合わせて、ホームページを表示するときにサイトの説明を表示することもできます。

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

投稿/ページ出力:「サイト名-ページタイトル」

ホームページの出力:「サイト名-サイトの説明」

8
ian.pvd

wordpress wp_title emptyでのGoogle検索の場合、これが最初の結果です。このため、最もエレガントなソリューションを共有できると思いました。
functions.phpで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
BogdanD

Codexからの新しいハックは次のとおりです。

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

次に、テーマファイルの「functions.php」で:

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;
}
2
ed-ta

私はこれを使用し、決して失敗しませんでした:

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

変更したい翻訳ドメインが存在することに注意してください。

1
pie6k

次のようなものをタイトルタグに入れることもできます。

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

ホームページにタイトルがなく、他のすべてのページに誤ったタイトルを追加した「霧の湖」テーマの私の2セント。

Wordpressはタグを単独で挿入するようになったため、header.phpから次の行を削除するだけで問題が解決します。

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

次のページを参照しました– https://make.wordpress.org/themes/2015/08/25/title-tag-support-now-required/

0
Misha Reyzlin

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
Adel

会話に遅れて...

ただし、静的フロントページに使用しているページの実際のタイトルを使用する場合は、次を使用できます。

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

ただし、wp_title()の実際のソースには、静的フロントページでこれを具体的に無効にする次のものがあります。

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

これには十分な理由があると思う。そのため、注意して進めてください。

0
Jahmic