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で起こっているこの問題に関して何も見つけられなかったので、明らかに間違ったことをしました。
これが私が Codex から読んだものです:
カスタムループなどを備えたカスタムホームページを使用している場合、空の_
wp_title
_があります。ホームページの_wp_title
_の場所に説明/タグラインを追加するためのきちんとしたハックがあります:
_<title><?php bloginfo('name'); ?> | <?php is_front_page() ? bloginfo('description') : wp_title(''); ?></title>
_
したがって、is_front_page()
を使用して、上記のコードで提案されている方法でホームページのタイトルを取得します。
しかし、静的なホームページを使用する場合、これはコードです:
<title><?php bloginfo('name'); ?> » <?php is_front_page() ? bloginfo('description') : wp_title(''); ?></title>
更新 for WordPressバージョン(> = 4.4)
これを試して
function some_name(){
add_theme_support( 'title-tag' );
}
add_action( 'after_setup_theme', 'some_name' );
Functions.phpでこれを行い、headから 'title'タグを削除します...
Amnaの答えに答えて、ページタイトルがある場合はページ名を表示し、その後にサイト名を表示する次のコードを思い付きました。
<?php wp_title(' - ',TRUE,'right'); bloginfo('name'); ?>
投稿/ページ出力:「ページタイトル-サイト名」
ホームページの出力:「サイト名」
明らかに、これは最初にサイト名を表示するために交換することもできます。
<?php bloginfo('name'); wp_title(' - '); ?>
投稿/ページ出力:「サイト名-ページタイトル」
ホームページの出力:「サイト名」
これを条件と組み合わせて、ホームページを表示するときにサイトの説明を表示することもできます。
<?php bloginfo('name'); echo ' - '; is_front_page() ? bloginfo('description') : wp_title(''); ?>
投稿/ページ出力:「サイト名-ページタイトル」
ホームページの出力:「サイト名-サイトの説明」
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 );
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;
}
私はこれを使用し、決して失敗しませんでした:
function pageTitle($echo){
$title = "";
global $paged;
if (function_exists('is_tag') && is_tag()) {
$title .= single_tag_title(__("Tag Archive for "" , 'circle'),false);
$title .= '" - ';
}
elseif (is_archive()) {
$title .= wp_title('',true);
//$title .= __(' Archive - ' , 'circle');
$title .= __(' - ' , 'circle');
}
elseif (is_search()) {
$title .= __('Search for "' , 'circle') . esc_html(get_search_query()).'" - ';
}
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;
}
変更したい翻訳ドメインが存在することに注意してください。
次のようなものをタイトルタグに入れることもできます。
<?php
if (is_front_page()) { ?>
Home | <?php bloginfo('description');
} else {
wp_title('|', 'true', 'right'); bloginfo('description');
} ?>
ホームページにタイトルがなく、他のすべてのページに誤ったタイトルを追加した「霧の湖」テーマの私の2セント。
Wordpressはタグを単独で挿入するようになったため、header.phpから次の行を削除するだけで問題が解決します。
<title><?php wp_title( '|', true, 'right' ); ?></title>
次のページを参照しました– https://make.wordpress.org/themes/2015/08/25/title-tag-support-now-required/
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;
会話に遅れて...
ただし、静的フロントページに使用しているページの実際のタイトルを使用する場合は、次を使用できます。
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 );
}
これには十分な理由があると思う。そのため、注意して進めてください。