替换seopack插件,wp设定关键字和描述

2009.09.12 作者: 小V - 1 评论
文章分类: WordPress

可以很早以前就看了这样的文章,那时对插件时候反感,但关键字和描述最好还是加上比较好。

今天从新完善了一下那断代码。。初学php,代码弄得很粗糙。算了,慢慢努力学习,现在先把功能弄出来再说.

基本原理说一下:

1 .单页、文章页直接把当然的tag标签取出来当关键字,前220字做描述

2. 分类取当前分类的所有tags, 输出5个最新的标签. 描述就是:后台加分类时写的那个描述..

3. 首页或其它页使用自定义的静态关键字和描述.

把以下代码直接放于<head></head>之间.

<?php         if (is_single()|| is_page()) {                                 //文章页的关键字和描述
if ($post->post_excerpt) {
$description     = $post->post_excerpt;
} else { $description = substr(strip_tags($post->post_content),0,220); } //取前220个字做描述
$description = str_replace(array("\r\n", "\r", "\n", "  "), " ", $description);
$description = str_replace(array("\""), "", $description);  //过滤符号等

$tags = wp_get_post_tags($post->ID);    //取tags做关键字
if(!empty($tags)){
foreach ($tags as $tag ) {
$keywords = $keywords . $tag->name . ",";
}
}
}elseif(is_category()) {                                  //分类页的关键字和描述,目的是取分类下所有的tag
foreach((get_the_category()) as $category) {
$catname = $category->category_nicename;    //取分类名
$description  = $category->category_description;
}
query_posts('category_name='.$catname);
if (have_posts()) : while (have_posts()) : the_post();
$posttags = get_the_tags();
$count=0;
if ($posttags) {
foreach($posttags as $tag) {
$count++;
if ($count <= 1){
$all_tags_arr[] = $tag -> name; //用 $tag 把 $all_tags_arr 变成多维数组,再由array_unique函数进行处理
}
}
}
endwhile;endif;
if(!empty($all_tags_arr)){
$tags_arr = array_unique($all_tags_arr); //去除重复的tag
$keywords = implode(',',$tags_arr);
}
} else {
$description = "这是自定义首页的描述";
$keywords = "这是自定义首页的关键字";
}
if (!empty($keywords)){    echo '<meta name="Keywords" content="'.$keywords.'" />'; }
if (!empty($description)){    echo '<meta name="Description" content="'.$description.'" />'; }

?>

相关文章

  1. Anonymous says:

    某些文章会出现乱码