wordpress归档页面的实现方法

有一个归档页对于独立博客来说是必不可少的,即方便访客查阅也有利于搜索引擎检索。总结了一下网上的方法,不外乎以下几种:

  1. 使用插件Clean Archives Reloaded。使用说明:http://wpsite.info/archives/1674轻量级,JS伸缩效果
  2. 使用函数archives_list_SHe。使用说明:http://zww.me/archives/25209复杂,高手使用
  3. 使用插件Dagon Design Sitemap Generator实现sitemap页。使用说明:http://www.dagondesign.com/articles/sitemap-generator-plugin-for-wordpress/这个很久没更新了,不过还是可以使用,本站决定有空重新折腾下。

T2Ze0MXelbXXXXXXXX !!157311 wordpress归档页面的实现方法

    wordpress非插件实现中英文字符串截断

    有利于SEO的排版样式应该是标题+摘要,摘要可以在写文章时自己添加,也可以通过插件实现,但是插件对中文支持度不够友好。本人推荐用wordpress自带的函数实现,轻量级且中英文支持良好。关于非插件文章截断,在以前的文章中也有介绍,今天重新整理并升级一下。
    一,用mb_strimwidth() 函数
    如果你的主机支持utf-8的话,这个函数是最佳的,调用代码为

    <span><?php echo mb_strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 150,"..."); ?></span>

    说明一下:0,表示从文章开头开始截图;150,截取到第150个字符;...,摘要末尾的样式。你还可以给span指定样式。
    二,用mb_substr() 函数
    当你发现第一种方法无效时,可以用这一种

    function z_substr($sourcestr='',$i=0,$cutlength=150,$endstr='...')
    {
    	$str_length=strlen($sourcestr);//字符串的字节数
    	while (($n<$cutlength) and ($i<=$str_length))
    	{
    		$temp_str=substr($sourcestr,$i,1);
    		$ascnum=Ord($temp_str);//ascii码
    		if ($ascnum>=224)
    		{
    			$returnstr=$returnstr.substr($sourcestr,$i,3);
    			$i=$i+3;
    			$n++;
    		}elseif ($ascnum>=192)
    		{
    			$returnstr=$returnstr.substr($sourcestr,$i,2);
    			$i=$i+2;
    			$n++;
    		}else
    		{
    			$returnstr=$returnstr.substr($sourcestr,$i,1);
    			$i=$i+1;
    			$n=$n+0.5;
    		}
    	}
    	if($i<$str_length)$returnstr.=$endstr;
    	return $returnstr;
    }

    将上面的代码放到functions.php 里,然后用下面的代码调用

    <?php echo z_substr($sourcestr, $i, $cutlength, $endstr); ?>

    最后将调用代码放到主题

    <?php the_title(); ?>

    的下面即可。

    给wordpress最新文章标题添加new图标

    wordpress最新文章标题添加一个醒目的图标,有助于访问者区分新旧文章,一般在CMS等大型新闻列表网站常见。当wordpress3.1.1出来后,WP已经成为一个可塑性极高的CMS系统。

    博优谷首页高度优化,以纯列表样式展示文章,有利于SEO。若再增加一个靓丽的小图标,定能起到画龙点睛之笔。效果如图所示:

    QQ截图20110417223246 给wordpress最新文章标题添加new图标

    拷贝下面的代码:

    <?php
        $t1=$post->post_date;
        $t2=date("Y-m-d H:i:s");
        $diff=(strtotime($t2)-strtotime($t1))/3600;
        if($diff<24){echo '<img src="'.get_bloginfo('template_directory').'/images/new.gif" />';}
    ?>

    到相关主题文件

    <?php the_title(); ?>

    的下面即可。
    你也可以尝试下文字形式的NEW样式代码

    <em><?php $t1=$post->post_date; $t2=date("Y-m-d H:i:s"); $diff=(strtotime($t2)-strtotime($t1))/3600; if($diff<24){echo " New!";} ?></em>

    给em指定一个CSS样式

    .post em{font-size:14px; color:#FF0242;}

    关于置顶的关键代码:

    <?php if (is_sticky()) {echo "[置顶]";} ?>

    百度为您打开搜索引擎优化的大门

    写在前面的话:作为亚洲乃至世界上最大的中文搜索引擎,百度在创造着一个又一个神话。而站长亦将百度的变化作为网站SEO的风向标,如何成功打开百度这座搜索引擎的大门,是每个站长的终极目标。
    seo 百度为您打开搜索引擎优化的大门

    SEO (Search engine optimization,搜索引擎优化),指为了提升网页在搜索引擎 自然搜索结果中(非商业性推广结果)的收录数量以及排序位置而做的优化行为,这一行为的目的,是为了从搜索引擎中获得更多的免费流量,以及更好的展现形象。

    而SEM (Search engine marketing,搜索引擎营销),则既包括了SEO,也包括了付费的商业推广优化。

    毋庸讳言,SEO自从1997 年左右出现以来,就和搜索引擎处于某种对立状态。这种对立源于两方面:

    一方面,大量SEO行为只考虑了如何获得更多的“免费”流量,至于多的这些流量是否 符合搜索用户价值,则不在考虑范围之内。这种SEO被称为“黑帽”,历来受到搜索引擎的严厉打击。

    另一方面,SEO的目的是为了获取更多的“免费”流量,这和搜索引擎的商业推广是对立的。所以很多SEO的从业者,包括相当多的搜索引擎从业者,从心底里认为,两者的利益就是不可调和的。

    但如果从更加长远的角度来看,搜索引擎和SEO从业者的利益,实际是有高度一致的地方的:

    首先,搜索引擎的搜索质量改善,很大程度上受到资源形态的影响。比如很多优质资源,是用Flash或者Ajax做的,搜索引擎就无法很好的爬取和索引。搜索引擎无法独立承担起这个引导教育职责,有了SEO参与其中,这些优质资源就可以更好的发挥其检索效果,改善用户搜索体验。

    其次,SEO从业者也是搜索引擎商业价值很好的布道者。尤其对于中国这样的新兴市 场,传统的中小企业对于如何触网,如何做互联网营销,并无多少经验。SEO在其中可以扮演非常重要的角色。而这种布道,对于搜索引擎产业价值的拓展,是很有好处的。

    基于以上原因,我们需要重新审视搜索引擎和SEO之间的关系。两者宜建立起一种更加良性的共生关系,驱逐劣币,提携良币,以使互联网生态圈得到更加健康有序的发展。百度作为中文搜索领域的领导者,有责任和义务来推进这个事情。这也是本文档发布的初衷。

    我们先来看一下过去的问题所在。

    (1)黑帽SEO 大行其道,占据了SEO 主流话语权

    黑帽SEO 行为,通常就是一般所谓的“搜索引擎作弊”。利用和放大搜索引擎的策略缺陷(实际上完美的系统是不存在的)获取更多用户访问量。而这种更多的访问量,是以伤害用户体验为代价的,而这会危及一个搜索引擎的生存基础。所以,面对这样的行为,如果短期内无法修补系统,搜索引擎也会通过一些临时策略进行遏制以免事态的失控。在作弊领域,破窗效应是非常明显的。

    很多人会说,整天说作弊作弊,到底哪些行为是作弊?这是无法穷尽的。互联网在动态的发展,搜索引擎也在动态的发展,作弊行为自然也是在动态的发展。最基本的界定法则,就是这个行为的泛滥,是否会影响搜索系统,最终伤害到用户的搜索体验。
    对黑帽SEO行为放任不管,不仅会造成搜索引擎质量的下降,还会恶化互联网生态环境,并使得良性的建站积极性受到打压,最终形成劣币驱逐良币的恶劣后果。在过去,黑帽SEO者面对惩罚,振振有词,甚至将搜索引擎告上法庭,这种状况,严重影响了正常的舆论氛围。这是我们必须要去扭转的。总之,搜索引擎和黑帽SEO 行为之间的矛盾,是不可调和的;过去如此,现在如此,将来也一定如此。打击黑帽SEO,会始终是搜索引擎质量控制的关键环节之一。而营造黑帽SEO者“老鼠过街,人人喊打”的舆论氛围,也是我们需要努力的目标。

    (2)白帽SEO 行为得到的指引不够清晰

    所谓白帽SEO,就是能起到改良和规范网站设计,使之对搜索引擎和用户更加友好,并从中获取更多合理流量的优化行为。但过去的问题在于,我们过去较少的界定,什么样的行为是推荐的。这导致很多白帽优化心存顾虑。
    正是鉴于上述问题,百度决定提供更加公开化的白帽SEO指南,营造更好的舆论氛围,以使SEO行业,有更加良性的发展。

    详细内容陆续添加中,目录如下:
    1        前期准备
    1.1  域名注册
    1.2  服务器、空间租用
    2        面向搜索引擎的网站建设
    2.1   良好收录
    2.2   良好排序
    2.3   良好展现
    3         网站运营
    3.1   目标=转化率
    3.2  搜索引擎流量分析
    3.3   网站信任度
    3.4  不断强化品牌概念
    4        作弊与惩罚
    4.1  百度如何定义作弊
    4.2  作弊会受到怎样的惩罚
    4.3  改正后能否解除惩罚?

    教你如何解决重复的元说明

    在用GOOGLE的网站管理员工具分析站点时发现存在重复的元说明,关于这个问题,一个比较方便的解决方法就是指定规范网页,规范网页是一组内容高度相似的网页的首选版本。
    如何指定规范网页?

    要指定指向网页 http://www.example.com/product.php?item=swedish-fish 的规范链接,请按以下形式创建 <link> 元素:
     
    <link rel="canonical" href="http://www.example.com/product.php?item=swedish-fish"/>将上述链接复制到该网页所有非规范版本的 <head> 部分,如 http://www.example.com/product.php?item=swedish-fish&sort=price。
     
    如果您在 http://www.example.com/product.php?item=swedish-fish 和 https://www.example.com/product.php?item=swedish-fish 上都发布了内容,则可以指定该网页的规范版本。创建 <link> 元素: 
     
    <link rel="canonical" href="http://www.example.com/product.php?item=swedish-fish"/>将上述链接添加到 https://www.example.comproduct.php?item=swedish-fish 的 <head> 部分。

    对于wordpress用户来说,可以用下面的方法来消除重复元说明方法,header.php 中加以下代码:

    将代码添加到<head>部分:
    <?php if ( is_singular() ) echo '<link rel="canonical" href="' . get_permalink() . '" />';?>

    一段代码实现wordpress分类目录两列显示

    强大的wordpress即使更新到了3.1,默认的目录还是显示一列,有时会与主题格格不入,其实只要在style.css中加入一段代码,即可轻松实现了。你也可以丰富一下代码的样式,比如在文字前加个小图标等等。

    /* 分类显示两列*/
    .widget_categories ul{
        display:block;
        overflow:auto;
    }
    .widget_categories ul li{
        width:79px;
        height:20px;
        float:left;
    }

    强制点击广告后才能下载的代码

    经常会在一些下载站遇到这样的情况,当点击某个广告文字或图片后,下载链接才会在页面上出现。依靠这种手段来提高CPT广告收入确实不错,不过不能用来做GOOGLE,不然100%被K,做做国内的广告联盟还凑乎。

    下面公布下站长秘而不宣的强制点广告代码

    继续阅读

    用图片列表方式展示BLOG

    效果可以先看牛仔主义的www.jeansism.com/pic。或者去月光博客的首页看看。

    思路: 调用9个文章post   采用css将其分割成三栏展示图下附文章标题作为链接。

    <?php
    $list_posts = get_posts('showposts=9&orderby=rand');   //随机获得9个post
    $i=1; 标记一
    foreach( $list_posts as $post ) :  //建立了一个循环
    ?>
    //在这个循环里插入下面的内容
    endforeach; ?>
    <?php $screen = get_post_meta($post->ID, 'screen', $single = true); ?>
    //调用自定义字符来显示图片
    //下面就是具体的显示文字和图片的方法,  为了清楚一点,这里把css写在style里了 实际中可以写入css文件的
    <div style="float:left;width:220px; padding-right:30px;text-align:center" >
    <div style="height:220px;overflow:hidden;float:left; width:220px" >
    <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>" rel="bookmark">
    <img src="<?php echo ($screen); ?>"  width="220 "alt=""  />  </a>
    </a>
    </div>
    <h4>
    <a href="<?php the_permalink() ?>" rel="bookmark"       title="Permanent Link to <?php the_title(); ?>"><?php     the_title     (); ?></a>
    </h4>
    </div>
    <?php
    if(fmod($i,3)==0)   //做判断 3个div以后 结束  重新开始一个3个一组的div
    {
    echo("</div> <div style='height:220px;padding-bottom:55px'>");
    }
    $i=$i+1;

    这样基本就完了  可以保存为模板  以页面形式发布。

    我们再把思路引申一下,单独做一个这样的页面,然后WP后台将这个页面设为首页,立马焕然一新的感觉。

    不用插件实现日志缩略图功能

    在1月10号的时候本站介绍过日志缩略图插件Get The Image,可以很方便的在首页或其它页面输出文章缩略图,返回首页即可看到实际效果。

    但是今天在幸福的收藏夹那里看到了一段代码,可以实现这种效果,特做个记号,以备急需时使用。

    <?php
    $soContent = $post->post_content;
    $soImages = '~<img [^\>]*\ />~';
    preg_match_all( $soImages, $soContent, $thePics );
    $allPics = count($thePics[0]);
    switch ( $allPics > 0 ) {
    case $allPics = 1:
    echo $thePics[0][0]; // 显示文章中的第一张图片
    break; // 当图片数量有1个时,不再执行
    default:
    echo "图片地址"; // 这里加入没图片时显示的默认图片
    };
    ?>

    将上面的代码放到index.php文件中合适位置,再配上CSS定义样式即可。本站并未测试此代码的有效性,有空时再说。

    引申阅读:wordpress首页分类图片调用 为你的每一个分类目录指定一个图片,并按照文章所属的分类在首页以缩略图的形式展示出来。

    不同IE版本之间的兼容问题

    顽固不化的IE6始终占据了中国40%的市场,导致我等设计者不得不考虑网页在IE6版本下的显示问题,不断测试,不断修改CSS,真是杯具。

    曙光来了,用下面的代码即可解决IE6\7\8的兼容问题。

    <!--[if lt IE 8]>
    <script src="http://ie7-js.googlecode.com/svn/version/2.0(beta3)/IE8.js" type="text/javascript"></script>
    <![endif]—>

    到这里了解相关兼容性知识

    你或者可以将IE6杀死

    你也可以选择用Fixefox