用编辑器打开主题的header.php,在<head>与</head>之间任意地方(一般加到</title>下面比较美观)加上如下代码:
<?php //如果是首页 if (is_home()){ $keywords = "你网站首页的关键字,自己修改吧"; $description = "你网站首页的描述,自己修改吧"; } //如果是文章页 elseif (is_single()){ //默认使用文章页添加关键字 $keywords = get_post_meta($post->ID, "keywords", true); //如果为空,使用标签作为关键字 if($keywords == ""){ $tags = wp_get_post_tags($post->ID); foreach ($tags as $tag){ $keywords = $keywords.$tag->name.","; } //去掉最后一个, $keywords = rtrim($keywords, ', '); } //默认使用文章页添加描述 $description = get_post_meta($post->ID, "description", true); //如果为空,使用文章前100个字作为描述 if($description == ""){ if($post->post_excerpt){ $description = $post->post_excerpt; }else{ $description = mb_strimwidth(strip_tags(apply_filters('the_content',$post->post_content)),0,200); } } } //如果是页面,使用页面添加的关键字和描述 elseif (is_page()){ $keywords = get_post_meta($post->ID, "keywords", true); $description = get_post_meta($post->ID, "description", true); } //如果是分类页,使用分类名作为关键字,分类描述作为描述 elseif (is_category()){ $keywords = single_cat_title('', false); $description = category_description(); } //如果是标签页,使用标签名作为关键字,标签描述作为描述 elseif (is_tag()){ $keywords = single_tag_title('', false); $description = tag_description(); } //去掉两段空格 $keywords = trim(strip_tags($keywords)); $description = trim(strip_tags($description)); ?> <meta name="keywords" content="<?php echo $keywords; ?>" /> <meta name="description" content="<?php echo $description; ?>" />
这次我把主要的注释都加上了,我想大家应该看得懂吧?
主要是文章页那里多了几个判断。默认使用文章页添加关键字,如果为空,使用标签作为关键字。默认使用文章页添加描述,如果为空,使用摘要内容,如果摘要为空,使用文章前100个字作为描述。
如果你看到了这里,那么我相信一定会有人觉得又要下载PHP文件,又要改functions.php好麻烦啊!而且也不愿意手动加这些信息,都用自动的。好吧,下面公布最懒的办法。
这个办法只需要修改一次代码,用编辑器打开header.php,在<head>与</head>之间任意地方(一般加到<title>下面比较美观)加上如下代码:
<?php if (is_home()){ $keywords = "你网站首页的关键字,自己修改吧"; $description = "你网站首页的描述,自己修改吧"; } elseif (is_single()){ $tags = wp_get_post_tags($post->ID); foreach ($tags as $tag){ $keywords = $keywords.$tag->name.","; } $keywords = rtrim($keywords, ', '); if($post->post_excerpt){ $description = $post->post_excerpt; }else{ $description = mb_strimwidth(strip_tags(apply_filters('the_content',$post->post_content)),0,200); } } elseif (is_page()){ $keywords = get_post_meta($post->ID, "keywords", true); $description = get_post_meta($post->ID, "description", true); } elseif (is_category()){ $keywords = single_cat_title('', false); $description = category_description(); } elseif (is_tag()){ $keywords = single_tag_title('', false); $description = tag_description(); } $keywords = trim(strip_tags($keywords)); $description = trim(strip_tags($description)); ?> <meta name="keywords" content="<?php echo $keywords; ?>" /> <meta name="description" content="<?php echo $description; ?>" />
OK,5个页面的关键字和描述,只要设置一次,以后全部都是自动的。刚刚准备把这个方法写成一个插件,结果看了半天插件教程,依然搞不定。希望之后能写个简单的插件,让懒人更懒一点吧。
注:本教程来源于西门的后花园http://ons.me/395.html,逍遥乐在转载使用时有所修改!
最新评论