wordpress免插件自动添加meta信息

作者:matrix 被围观: 1,530 次 发布时间:2014-01-30 分类:wordpress建站 | 18 条评论 »

💡NOTICE:这是一个创建于 1818 天前的主题,其中的信息可能已经有所发展或是发生改变。

Wordpress免插件自动添加meta信息

 

汗啊,今天都除夕了。完全没感觉~

WordPress主题没弄好meta信息或者根本没有那是经常的,这代码目测很实用的。

代码:

/* 
自动输出head的keywords和description信息 
*/  
/*截取字符*/  
function hhtjim_Substr($str, $len = 100){//默认的100  
    if(!$str){  
        return;  
    }  
    if( strlen( $str ) <= $len ){  
        return $str;  
    }else{  
        $ellipsis = '...';  
    }  
    $new_str = array();  
    for($i=0;$i<$len;$i++){  
        $temp_str=substr($str,0,1);  
        if(ord($temp_str) > 127){  
            $i++;  
            if($i<$len){  
                $new_str[]=substr($str,0,3);  
                $str=substr($str,3);  
            }  
        }else{  
            $new_str[]=substr($str,0,1);  
            $str=substr($str,1);  
        }  
    }  
    $new_str = join($new_str);  
    $new_str .=$ellipsis;  
    return $new_str;  
}  
/*去掉各类标签*/  
function hhtjim_Striptags($str,$allow = ''){  
    $str = str_replace(" ","",$str);//去掉空格  
    $str = str_replace('"','',$str);//去掉引号 
    $str = preg_replace('/(\r\n)|(\n)/', '', $str); // 消灭换行符 
    $str = preg_replace('/(\t)/', '', $str); // 消灭制表符 
    $str = strip_tags($str,$allow); //去掉html标签 
    $str = preg_replace('/\[(.+?)\]/', '', $str); // 消灭'[]'这样的标签 
    return $str; 
} 
function HHTjim_Keywords_Description(){ 
    global $post, $wp_query; 
    // 默认值 
$ds = get_option('description_announce')!=="" ? get_option('description_announce') :'HHTjim在互联网的个人博客。其中有分享&记录,更有不用解释的东西 -_-!  尽情欣赏吧  ^ _ ^'; 
$kw = get_option('key_announce')!=="" ? get_option('key_announce') : 'HHTjim,HHTjim.Com,部落格,个人博客,沫若中学'; 
    if(is_singular()){ // 普通页面 
        $keywords = array($keywords); 
        $keywords[] = get_post_meta($post->ID, 'Keywords', true); 
        $keywords[] = get_post_meta($post->ID, 'keywords', true); 
        // 仅对 单篇文章页( single ) 处理 
        if( is_single() ){ 
            //获得分类名称 作为关键字 
            $cats = get_the_category(); 
            if($cats){ 
                foreach( $cats as $cat ){ 
                    $keywords[] = $cat->name; 
                } 
            } 
            //获取Tags 将Tags 作为关键字 
            $tags = get_the_tags(); 
            if($tags){ 
                foreach( $tags as $tag ){ 
                    $keywords[] = $tag->name; 
                } 
            } 
        } 
        // 格式化处理 $keywords 
        if(count($keywords) > 1){ 
            array_shift($keywords); 
        } 
        $keywords = array_filter($keywords); 
        $keywords = join(',', $keywords); 
        // 对 description 的处理 
        if(!empty($post->post_password)){ // 受保护的文章 
            $keywords = ''; 
            $description = '请输入密码查看受保护的文章'; 
        }else{ 
            //获取自定义域内容 
             $description = mb_strimwidth(hhtjim_Striptags($post->post_content),0,117).'...'; 
        //  $description = hhtjim_Striptags($post->post_content); 
        //   $description = hhtjim_Substr($description); 
             if( empty($description) ){ 
                 $description = get_post_meta($post->ID, 'description', true); 
             } 
            //自定义域为空 试试Excerpt 
            if( empty($description) ){ 
                $description = get_the_excerpt(); 
            } 
            //依然为空 则截取文章的前220个字符作为描述 
            if( empty($description) ){ 
                $description = hhtjim_Striptags($post->post_content); 
                $description = hhtjim_Substr($description, 220); 
            } 
        } 
    }elseif(is_category()){ // 分类页 
        $keywords = single_cat_title('', false); 
        $description = hhtjim_Striptags(category_description()); 
    }elseif(is_author()){ // 作者页 
        $meta_auth = get_userdata(get_query_var('author')); 
        $keywords = $meta_auth->display_name; 
        $description = str_replace(array('"'), '"', $meta_auth->description);  
        $description = hhtjim_Striptags($description);  
    }elseif(is_tag()){ // 标签页  
        $keywords = single_cat_title('', false);  
        $description = tag_description();  
        $description = hhtjim_Striptags($description);  
    }elseif(is_month()){ // 月份存档页  
        $description = single_month_title(' ', false);  
    }  
    if( !emptyempty($keywords) ){  
        echo '<meta name="keywords" content="',trim($keywords),'" />',"\n";  
    }else{echo '<meta name="keywords" content="',trim($kw),'" />',"\n";}  
    if( !emptyempty($description) ){  
    if($description == '...'){  
        echo '<meta name="description" content="',trim($ds),'" />',"\n";  
    }else{  
        echo '<meta name="description" content="',trim($description),'" />',"\n";}  
    }else{echo '<meta name="description" content="',trim($ds),'" />',"\n";}  
    unset($keywords,$description);  
}  
add_action('wp_head', 'HHTjim_Keywords_Description',1);  

说明:

代码放到wordpress主题的?>前面。

80行的117为普通文章页面的截取字数。

此代码扒自PhilNa2主题,超级强大。自己稍微修改,完善了些。

找相似:
本文固定链接:https://www.hhtjim.com/free-wordpress-plugin-automatically-add-meta-information.html
matrix
本文章由 matrix 于2014年01月30日发布在wordpress建站分类下,目前没有通告,你可以至底部留下评论。
转载请注明:wordpress免插件自动添加meta信息-HHTjim'S 部落格
关键字:, ,

有18 条评论 »

  1. seo培训 seo培训 2015-4-5 13:36:24 +0800#11

    哈哈 你的博客还真有的意思啊

  2. 周小姐 周小姐 2014-3-21 23:45:18 +0800#10

    有什么用呢

  3. 小清新头像吧 小清新头像吧 2014-2-9 18:57:56 +0800#9

    自动添加,这个。。

    • Matrix Matrix Moderator 2014-2-9 19:06:55 +0800

      让他自动取关键字和描述 这多爽 😛

  4. 逗妇乳 逗妇乳 2014-2-2 21:10:28 +0800#8

    博客所在服务器比较给力,直接用插件,不折腾了

    • Matrix Matrix Moderator 2014-2-2 23:39:34 +0800

      我用插件跟现在的要求一样,所以就非插件了。不过插件功能上有更多选择的

  5. arno arno 2014-2-2 14:45:06 +0800#7

    新年快乐~速度快很多

  6. 不认识 不认识 2014-2-1 22:46:31 +0800#6

    新年快乐,蛋疼实验室飘过~

  7. Youth.霖 Youth.霖 2014-2-1 6:41:39 +0800#5

    新年快乐!过年了先不折腾了

  8. 香菇肥牛 香菇肥牛 2014-1-31 20:35:44 +0800#4

    嗯,这个挺有用的,回去试试~博主新年快乐,马年吉祥!

    • Matrix Matrix Moderator 2014-1-31 21:00:44 +0800

      肥牛君 新年快乐!

  9. 手机小菜 手机小菜 2014-1-31 9:49:24 +0800#3

    对seo很有利,现在收费主题基本上都有这功能

    • Matrix Matrix Moderator 2014-1-31 13:42:28 +0800

      嗯 就是搞不懂SEO。目前没用过收费主题。 我这主题都是人家扒下来 自己捡起来用的 以前超级精简

      • 手机小菜 手机小菜 2014-1-31 15:40:25 +0800

        我也是这样,seo不懂,用的外国的免费主题,自己慢慢修改,外国主题结构和国内不太一样,又没有标注,有些功能加起来比较麻烦

  10. 小清新 小清新 2014-1-31 0:46:47 +0800#2

    新年快乐 😛

  11. 小清新头像吧 小清新头像吧 2014-1-30 14:57:56 +0800#1

    挺好的。
    博主新年快乐!!

添加新评论 »

 😛 👿 😳 😀 😯 😮 😕 😎 😆 😡 😈 😉 💡 😐 😥

NOTICE: You should type some Chinese word (like “你好”) in your comment to pass the spam-check, thanks for your patience!