标签: wordpress

  • 首页和文章显示keywords和description.

    首页和文章显示keywords和description.

    13-3-3 sbw更改主题文件header.php***************************************************

    更改了header.php.让首页和文章显示keywords和description.
    在源文件中删除了原文件的<keywords>和<description>表达式

    更改为:

    <?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; ?>” />

    当中的[0,200]是限制了文章的截取位置作为description.但是由于主题的分享插件可能在文章前面.所以新浪微博的代码被当成内容被截取.所以我把
    其改为了[520,720]正好跳过了代码片段.所以当分享插件有更改,文章的description应该会截取错误.!!
    还有就是,因为主题的首页设置成了静态页面.实际上是页面.而页面的描述.是需要在编辑页的[自定义栏目]添加keywords和description分别给值的.