闻心阁

一蓑烟雨看苍生,半壶浊酒笑红尘

wordpress给archive和tag页面添加meta信息

2013-03-26 约 1 分钟读完 搬砖秘籍

首先呢,我是一个wordpress极其洁癖的患者,除了我暂时能力达不到的情况,其他的只要自己的代码能解决的事情,我坚决不去用插件实现,之前用万戈的方法实现了首页和文章页面的keywords和description meta信息的添加,但是对于tag和分类这种archive页面不能实现自动的添加keywords和description meta信息,这次我把我的方法分享出来。

解决方案如下:

在header.php里面添加如下代码,即可实现tag和分类等archive页面meta信息。

<?php if (is_home()){
    $keywords = get_option('mytheme_keywords');;
    $description = get_option('mytheme_description');
} 
elseif (is_single()){
    if ($post->post_excerpt) {
        $description = $post->post_excerpt;
    } else {
        $description = mb_substr(strip_tags($post->post_content),0,120,'utf-8');
    }
    $keywords = "";      
    $tags = wp_get_post_tags($post->ID);
    foreach ($tags as $tag ) {
        $keywords = $keywords . $tag->name . ", ";
    }
}
elseif(is_category()) {
    $description = '有关 '.single_cat_title( '', false ).' 的全部文章';
    $keywords = single_cat_title( '', false );
}
elseif(is_tag()) {
    $description = '有关 '.single_cat_title( '', false ).' 的全部文章';
    $keywords = single_cat_title( '', false );
}
?>
<meta name="keywords" content="<?php echo $keywords;?>" />
<meta name="description" content="<?php echo $description;?>" />

这就是我实现的方法,是以tag或者分类名作为keywords,然后description 是有关XXX的所有文章,折腾完毕。