我无法在我的自定义WordPress主题中获得正确显示的标题。 title属性设置如下:<title><?php wp_title( '|', true, 'right' ); ?></title>
我直接从2012年主题中获取了该代码。当我激活2012主题时,标题看起来很完美,但是当我使用上面相同代码的自定义主题时,我在主页上获取我的网站地址作为标题,而在每个其他页面上,我只获取页面名称接着是“|”。什么可能导致这个?我寻找第二个标题标签,但到目前为止没有。它毁了我的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 );
答案 0 :(得分: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 );
}
}