通用wordpress头部标题优化代码 无插件实现完整版

By | January 5, 2013

下面整理了完整的无插件实现标题以及关键字和描述的代码。只需要把下面的代码命名为title.php文件,放到主题模板中。

<?php
if
( is_home() ) { ?><title><?php bloginfo(
'name'
); ?> | <?php bloginfo(
'description'
); ?></title><?php } ?>
<?php
if
( is_search() ) { ?><title>搜索结果 | <?php bloginfo(
'name'
); ?></title><?php } ?>
<?php
if
( is_single() ) { ?><title><?php echo trim(wp_title(
''
,0)); ?> | <?php bloginfo(
'name'
); ?></title><?php } ?>
<?php
if
( is_page() ) { ?><title><?php echo trim(wp_title(
''
,0)); ?> | <?php bloginfo(
'name'
); ?></title><?php } ?>
<?php
if
( is_category() ) { ?><title><?php single_cat_title(); ?> | <?php bloginfo(
'name'
); ?></title><?php } ?>
<?php
if
( is_month() ) { ?><title><?php the_time(
'F'
); ?> | <?php bloginfo(
'name'
); ?></title><?php } ?>
<?php
if
(function_exists(
'is_tag'
)) {
if
( is_tag() ) { ?><title><?php  single_tag_title(
""
,
true
); ?> | <?php bloginfo(
'name'
); ?></title><?php } ?> <?php } ?>
<?php
if
( is_author() ) {?><title><?php wp_title(
''
);?>发表的所有文章 | <?php bloginfo(
'name'
); ?></title><?php }?>
<?php
if
(!function_exists(
'utf8Substr'
)) {
 
function
utf8Substr($str, $from, $len)
 
{
     
return
preg_replace(
'#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'
.$from.
'}'
.
          
'((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'
.$len.
'}).*#s'
,
          
'$1'
,$str);
 
}
}
if
( is_single() ){
    
if
($post->post_excerpt) {
        
$description  = $post->post_excerpt;
    
}
else
{
   
if
(preg_match(
'/<p>(.*)<\/p>/iU'
,trim(strip_tags($post->post_content,
"<p>"
)),$result)){
    
$post_content = $result[
'1'
];
   
}
else
{
    
$post_content_r = explode(
"\n"
,trim(strip_tags($post->post_content)));
    
$post_content = $post_content_r[
'0'
];
   
}
         
$description = utf8Substr($post_content,0,220); 
  
}
    
$keywords =
""
;    
    
$tags = wp_get_post_tags($post->ID);
    
foreach ($tags as $tag ) {
        
$keywords = $keywords . $tag->name .
","
;
    
}
}
?>
<?php echo
"\n"
; ?>
<?php
if
( is_single() ) { ?>
<meta name=
"description"
content=
"<?php echo trim($description); ?>"
/>
<meta name=
"keywords"
content=
"<?php echo rtrim($keywords,','); ?>"
/>
<?php } ?>
<?php
if
( is_home() ) { ?>
<meta name=
"description"
content=
"首页描述"
/>
<meta name=
"keywords"
content=
"首页关键字"
/>
<?php } ?>

然后在header.php文件头部标题位置调用就可以:

<?php include(
'title.php'
); ?>

Leave a Reply