设置wordpress的description和keywords

设置wordpress的description和keywords,用日志的摘要作为description,用标签(tags)作为关键词keywords。

只需要把这段代码放在header.php就行了。

版本1:

<?php
 if (is_home()){   
 $description = "首页的描述";    
 $keywords = "首页的关键词";
} elseif (is_single()){   
 if ($post->post_excerpt) {       
  $description  = $post->post_excerpt;    
 } else {       
  $description = substr(strip_tags($post->post_content),0,220);   
 }      
 $keywords = "";           
 $tags = wp_get_post_tags($post->ID);    
 foreach ($tags as $tag ) {       
  $keywords = $keywords . $tag->name . ",";    
  }
}
?>
<meta name="description" content="<?php echo trim($description); ?>" />
<meta name="keywords" content="<?php echo rtrim($keywords,','); ?>" />

版本2:

日志的第一段作为Description:

<?php
 if (is_home()){
    $description = "首页的描述";
    $keywords = "首页的关键词";
} elseif (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 = substr($post_content,0,220);   
  }
 
    $keywords = "";      
    $tags = wp_get_post_tags($post->ID);
    foreach ($tags as $tag ) {
        $keywords = $keywords . $tag->name . ",";
    }

}

?>
<meta name="description" content="<?php echo trim($description); ?>" />
<meta name="keywords" content="<?php echo rtrim($keywords,','); ?>" />

分两种版本的原因是:第一个版本对Windows Live Writer发布的文章有效。第二个版本适合直接用WP的后台发布的文章。

代码放在header.php

你可以考虑放在title标签的之前或之后,不过我习惯的作法是把上面的代码单独另存为一个文件,如命名为desc.php,上传到你目前所用主题的目录下,然后调用就行了。

<title><?php wp_title('&laquo;', true, 'right'); ?> <?php bloginfo('name'); ?></title>
<?php include_once("desc.php"); ?>