我爱wordpress最近评论中不显示自己的评论的过程记录

最近很多朋友来博客上留言,我爱WP在回复了一些留言后发现,最近评论模块都变成自己的留言了

我爱WP是登录博客后台后回复的,我爱Wordpress是没有登录博客回复的,要是把这些屏蔽掉就好了。

下面我来记录我修改的过程,由于默认情况下,管理员的ID一般都是为1,所以我们只要排除ID为1的用户的留言和评论就可以了,在WordPress中user_id !=1就是排除管理员信息的留言与评论的:

找到主题边栏最新评论那段代码

在这段代码里加上

1  AND user_id !=1

只去掉了管理 员后台回复的部分,管理员前台回复的部分没有去掉,这不是我们要的理想效果,我们去修改登录用户名来达到这样的目录,再次修改代码,

1 AND user_id !=1

修改为:

1 AND comment_author!='我爱WP' AND comment_author!='我爱WordPress'

意思就是排除我爱WP和我爱WordPress的评论

按照这个原理,还可以继续使用comment_author_email等字段,总之是想禁止谁就禁止谁啊!

 

无插件自动显示WordPress缩略图

我爱WP收到朋友们的建议,最好首页要用图片形式显示,所以今天来把首页标题下面做个缩略图,无插件,纯代码是怎么实现首页文章缩略图的,方法非常简单,就算你不懂代码,按步骤操作也是可以的。当然缩略图选择的是文章中的第一张图片,如果文章不包含图片,显示默认图片,所以你要置顶一个默认的图片位置。

第一步:找到使用的主题模板的functions.php文件在<?php和?>之间添加如下代码

 1 function thumb_img($soContent){ $soImages = '~<img [^\>]*\ />~';
 2 preg_match_all( $soImages, $soContent, $thePics );
 3 $allPics = count($thePics[0]);
 4 if( $allPics > 0 ){
 5 echo "<span id='thumb'>";
 6 echo $thePics[0][0];
 7 echo '</span>';
 8 }
 9 else {
10 echo "<span id='thumb'>";
11 echo "<img src='";
12 echo bloginfo('template_url');
13 echo "/images/thumb.gif'></span>";
14 }
15 }

这是一个显示缩略图的方法,自动检索文章的第一张图片,如果没有显示当前主题/images/thumb.gif 所以你要把这个thumb.gif图片准备好~

第二步:找到index.php文件即首页文件,找到the_content();或相似的代码在它之前添加如下代码:

1 thumb_img($post->post_content);

这样就调用了刚才的方法,实际上缩略图已经完成了!但是你看到的效果一定很意外,应为图片的大小没有控制,会很难看…好了,第三步

第三步:添加缩略图样式CSS代码:

这是52wordpress使用的的缩略图样式,你可以先凑合着用,再另行修改

1 #thumb{margin:5px 15px 5px 5px;width:145px;height:120px;border:3px 
  solid #eee;float:left;overflow:hidden;}
2 #thumb img{max-height:186px;max-width:186px}

好了,这样缩略图就有模有样的显示出来啦!三步搞定!

截图给大家看一下效果:

52wp 无插件自动显示WordPress缩略图

效果初步就是这样,下一步我爱WP将进一步修改CSS进行美化一下。

 

进一步修改WordPress缩略图

我爱WP上次修改的缩略图不是太理想,图片不能正中显示,于是又找到别的代码,这次测试成功,记录如下:

第一步:找到你的主题模板文件夹下的function.php文件。如果没有就新建一个。

 1 function thumb_img($soContent){ 
 2 $soImages = '~<img [^\>]*\ />~'; 
 3 preg_match_all( $soImages, $soContent, $thePics ); 
 4 $allPics = count($thePics[0]); 
 5 if( $allPics > 0 ){ 
 6 echo "<span id='thumb'>"; 
 7 echo $thePics[0][0]; 
 8 echo '</span>'; 
 9 } 
10 else { 
11 echo "<span id='thumb'>"; 
12 echo "<img src='"; 
13 echo bloginfo('template_url'); 
14 echo "/images/nopic.jpg'></span>"; 
15 } 
16 }

 

将上面的代码放在function.php文件的<?php和?>之间,当然如果没有这个文件你要新建这个文件,写上上面的红色代码!

1 <div class="post-img"> <a href="<?php the_permalink() ?>"
  rel="bookmark" target="_blank" title=" <?php the_title_attribute(); 
  ?>" class="png"><?php echo thumb_img($post->post_content); ?> </a> 
  </div>

上面的post_content); ?> 就是显示文章图片缩略图的功能!

第三步:添加缩略图样式CSS代码:

打开style.css文件。在最后面加上下面的CSS代码:

1 .post-img{float:left;margin-right:15px} 
2 .post-img{height:185px;width:260px} 
3 .post-img a{height:185px;width:260px} 
4 .post-img img{height:185px;width:260px}

完成上面三步后,功能就实现了。

这里说明的是CSS样式自己调整,我在div块中清除浮动,才不变形,根椐各模板修改。

效果截图如下:

52dff 进一步修改Wordpress缩略图

 

WordPress标签高级用法及与SEO的关系

使用Wordpress建站的朋友,对标签是再熟悉不过了。对标签的使用也是各有各的看法,主要集中在两点:一种是倾向于屏蔽,另一种是不屏蔽。倾向于屏蔽的理由是随着文章的增多标签会越来越多,造成网站的臃肿;不屏蔽的理由是标签有利于搜索引擎的收录。笔者认为这个标签不应屏蔽,wordpress作为用户最多的博客程序之一,自然有其妙处。下面笔者就目前流行用法做一个罗列及评述,并提供一种高级用法,与网友分享。

一、华而不实的标签云

记得多年前,没有使用wordpress的时候,看到很多网友的博客,侧边栏上有个标签云,有的是那种动态的浮云。而我但是使用的国内的CMS系统,于是苦寻实现相同功能而不得其终,后来才知是使用wordpress,而且有一个标签云插件。现在看来,这个没有什么。对于这种浮动的功能,其实是一个华而不实的功能,对于用户来讲,更重要的是访问速度,对于普遍网速不快的情况下,要加载那个东西,用户的忍耐力是有限的。

二、实用的热门标签

在网站的导航栏下面,如果有一个热门标签,无疑会让用户觉得网站的专业。以前使用CMS系统的时候,网站后台提供了热门标签的输入。显然这种标签是假的,并不一定是真的热门。而使用wordpress标签,可以真正实现热门标签。随着你文章的增多,标签就会发生变化。特别是一些用wordpress做CMS网站的时候,似乎成了一个标配。

三、过时的用标签做关键词功能

曾经何时,网站里的元标签(只考虑关键词和描述)是SEO必备的。但是经过百度的大更新,其中的关键词作用越来越弱化了。大家可以看百度其下的产品如百度知道、百度百科等,几乎看不到关键词的设置,这说明关键词对于搜索引擎来说是一个可有可无的标识。而搜索引擎判断网页关键已经可以做到从网页本身内容分析的出来。实际上wordpress本身也没有设置关键词的地方。可见使用标签来做关键词是没有必要的。

四、使用标签加强用户体验

显然,wordpress用户们会疑惑,那我到底如何使用标签呢?我要说的是使用标签来加强网站的用户体验。我们都指导,一个网站有其主打关键词,假设我们网站的主打关键词有三个,那么从这三个关键词派生出来的长尾关键词可能就有几百个。我们发布文章或产品时应该使用这些长尾关键词,然后使用标签把这些关键词组织起来,放在网站的合适位置,引导用户去访问,然用户快速找到他们所需要的资讯。我想这就是标签的作用。至少这样做,你的用户不会在你的网站迷失方向。

五、标签的高级用法

其实标签就是用来组织网站的内容,那么如何组织内容呢?这就需要一定的技巧。下面我通过几个例子来说明一下。

例1:用标签来建立导航。

背景假设:有个网站,做中国的诗词的,这会涉及到朝代、作者,有的还会要求做按字母分类。虽然朝代我们可以用分类来做,但是作者就没法用分类来做,因为太多了。而字母只有26个可以做成分类,这同样感觉分类太庞大了。所以分类做这些不是一个很好的解决方案,那么怎么做呢?

解决方案如下:

现在我们输入一篇李白的《望庐山瀑布》这首诗,我们可以这标签里输入:W,唐代,李白,七言。然后在funtion.php文件内加入下面的代码:

 1 add_action('admin_menu', array('DJpluginsOptions', 'add'));
 2 
 3 function get_tag_link_by_slug($tag_slug) {
 4
 5 $tag=get_term_by( 'slug', $tag_slug, 'post_tag' );
 6
 7 if ($tag) return get_tag_link($tag->term_id);
 8
 9 return 0;
10 
11 }

这段函数的功能就是获取标签的链接,接下来就可以在模版中做如下引用:

1 <a href="[?php echo get_tag_link_by_slug('标签名'); ?>">标签名</a>

至此,我们就可以做出我们需要的导航了。

例2:用标签来做项目标识。

背景假设:我们现在要做一个产品类的企业网站,对于一个产品,涉及到价格、规格、颜色、材质、详情等信息。虽然这些都可以才编辑器里添加,但是问题是无法单独把这些信息提出。所以我们只能需求另外的办法,如把详情放在编辑器里,而把其它的放在标签里。而这些标签需要设计多个输入框才能方便调用。

解决方案如下:

添加一些代码到funtion.php文件内:

 1 function create_my_taxonomies() {
 2
 3 register_taxonomy('price', 'post', array(
 4
 5 'hierarchical' => false, 'label' => '价格',
 6
 7 'query_var' => true, 'rewrite' => true));
 8
 9 }
10 
11 add_action('init', 'create_my_taxonomies', 0);}

这里只以“价格”为例,其它的类推。添加了上面的代码后,wordpress后台就会出现“价格”输入框,发布产品时只需在“价格”输入框输入价格即可。然后在模版合适位置输入调用代码就能实现我们所需功能:

1 <?php echo get_the_term_list($post->ID, '价格', '价格: ', ', ', '');
  ?>

当然标签的使用远不止这些,我这里只是起了一个抛砖引玉的作用。更多高级用法有待进一步发现。并希望网友本着分享的精神把它共享出来。

本文为原创文章,作者博客点金主题网www.dianjin123.com,欢迎转载,但请保留链接,谢谢!

 

 

WordPress技巧:不用插件利用.htaccess启动Gzip网页压缩

不用插件利用.hccess启动Gzip网是通过Apache的Enabling Compression来达到。
下面以http://www.163zuowen.com/这个网站为例进行实际操作。

1、首先我们先测一下163作文网是否启用gzip压缩

下面是几个测试网站是否启用gzip压缩的网址:

http://tool.chinaz.com/Gzips/Default.aspx

http://gzip.zzbaike.com/

http://www.websiteoptimization.com/services/analyze/

测试如图没有gzip压缩:

2、通过FTP将您的.htaccess文件下载回来,用DW打开如图:

3、在.htaccess文件中请加入以下语法,然后储存上传覆盖即可。

 1 <IfModule mod_deflate.c>
 2 # Insert filters
 3 AddOutputFilterByType DEFLATE text/plain
 4 AddOutputFilterByType DEFLATE text/html
 5 AddOutputFilterByType DEFLATE text/xml
 6 AddOutputFilterByType DEFLATE text/css
 7 AddOutputFilterByType DEFLATE application/xml
 8 AddOutputFilterByType DEFLATE application/xhtml+xml
 9 AddOutputFilterByType DEFLATE application/rss+xml
10 AddOutputFilterByType DEFLATE application/javascript
11 AddOutputFilterByType DEFLATE application/x-javascript
12 AddOutputFilterByType DEFLATE application/x-httpd-php
13 AddOutputFilterByType DEFLATE application/x-httpd-fastphp
14 AddOutputFilterByType DEFLATE image/svg+xml
15 # Drop problematic browsers
16 BrowserMatch ^Mozilla/4 gzip-only-text/html
17 BrowserMatch ^Mozilla/4\.0[678] no-gzip
18 BrowserMatch \bMSI[E]!no-gzip !gzip-only-text/html
19 # Make sure proxies don't deliver the wrong content
20 Header append Vary User-Agent env=!dont-vary
21 </IfModule>

我们在来测试一下,看压缩82.67%,如图:

 

定期优化你的WordPress数据库,为博客提速

今天查看自己的phpMyAdmin数据库,发现数据库竟然有3.5MB大小,很是吃惊,仔细查看后,发现wp_comments就占了2.2MB.可是打开表查看,里面也就几十个评论呀,想到最近光垃圾留言也差不多有一万多条,应该是碎片还残留在数据库里。看来这数据库也得定期优化呀。

下面介绍二种方法来优化:

一、在phpMyAdmin里打开Wordpress所在的数据库,在大小的后面就显示有多余的数据,点击表下面选中项――优化表,就可以把多余的数据清理的干干净净。

二、也是比上面还要傻瓜的办法,就是用Optimize Database插件。

  1. 官方下载Optimize Database
  2. 上传到/wp-content/plugins/下,返回控制台激活。
  3. 控制台里的工具选项里,会增加一个Optimize Database的选项,打开后,可以清楚的看到自己的数据库有多少需要清理的数据,一键就可以清理干净。
  4. 大家可以在平时不用的时候关闭插件,用的时候再启用,这样可以避免插件过多而导致wordpress速度变慢。

无插件实现WordPress首页调用文章缩略图

喜欢折腾修改Wordpress主题的朋友,肯定遇到过这样的问题,想在首页文章中显示缩略图,有插件可以实现,不过不方便操作和控制,毕竟代码是人家写的,我爱WP分享一下无插件,纯代码是怎么实现首页文章缩略图的,方法非常简单,就算你不懂代码,按步骤操作也是可以的。当然缩略图选择的是文章中的第一张图片,如果文章不包含图片,显示默认图片,所以你要置顶一个默认的图片位置。

步入正题,开始添加首页缩略图,分简单3步即可实现:

第一步:找到使用的主题模板的functions.php文件在<?php和?>之间添加如下代码:

 1 function thumb_img($soContent){
 2 $soImages = '~<img [^\>]*\ />~';
 3 preg_match_all( $soImages, $soContent, $thePics );
 4 $allPics = count($thePics[0]);
 5 if( $allPics > 0 ){
 6 echo "<span id='thumb'>";
 7 echo $thePics[0][0];
 8 echo '</span>';
 9 }
10 else {
11 echo "<span id='thumb'>";
12 echo "<img src='";
13 echo bloginfo('template_url');
14 echo "/images/thumb.gif'></span>";
15 }
16 }

这是一个显示缩略图的方法,自动检索文章的第一张图片,如果没有显示当前主题/images/thumb.gif  所以你要把这个thumb.gif图片准备好。

第二步:找到index.php文件即首页文件,找到the_content();或相似的代码在它之前添加如下代码:

thumb_img($post-&gt;post_content);

 

这样就调用了刚才的方法,实际上缩略图已经完成了。但是你看到的效果一定很意外,应为图片的大小没有控制,会很难看。好了,第三步

第三步:添加缩略图样式CSS代码:

这是浮云站使用的的缩略图样式,你可以先凑合着用,再另行修改

1 #thumb{margin:5px 15px 5px 5px;width:145px;height:120px;border:3px 
  solid #eee;float:left;overflow:hidden;}<br />
2 #thumb img{max-height:186px;max-width:186px}

好了,这样缩略图就有模有样的显示出来啦。三步搞定!

 

简单实现wordpress文章每段首行缩进两个字符

实现wordpress文章每段首行缩进的最好的方法就是修改css文件,以下方法对对大部分wordpress主题适用:

在你使用的 WordPress 主题文件夹里找到 style.css 文件,在 style.css 文件最下方添加代码:

.content p{text-indent:2em;}

或者:

#content p{text-indent:2em;}

第一段代码不行就试试第二段代码,其实只不过是把”.”改成”#”而已,其实知道原理的话几乎全部wordpress主题都可以用这个方法修改,这样就能实现全站文章段落首行自定缩进两个空格。

这个方法其实是最简单有效的,比使用插件要简单的多,上面代码中2em的2就是2个字符的意思,可以自由更改。

 

10大WordPress优化增加百度收录的方法

我爱WP一直对WordPress优化比较关注,也有意无意地用些方法,只是没有一个总结,今天 看到一篇文章,对WordPress优化的10大总结,我大部分是用的以下方法,故全文转载,希望帮助更多爱好WordPress朋友优化自己的博客,全文如下:

本站使用WordPress博客程序架设,其为目前全球采用最多的建站程序,目前本站在Alexa排名或Google(谷歌)都能顺利收录,并且有很好的SEO效果。然而,因为WordPress 博客程序天生就是为Google(谷歌)开发的,所以在Google(谷歌)中有很好的收录和排名,但是对于国内百度的收录,效果就其差无比。因此,除了想要让中文博客在Google(谷歌)中有较好的排名,实在不得不将目光转移到国内第一大搜索引擎百度身上。

由于wordpress博客程序的自身缺陷,使得百度对其不是很感冒,收录不仅少,而且排名也不高。优化的目的一是让百度收录全部文章,二是要在百度中获得很好的排名,本着这两点,总结了10大WordPress百度SEO优化增加收录的方法。

1、禁用All in one seo插件

All in one seo插件是国外的博客作者针对Google(谷歌)做的一个优化插件,对Google(谷歌)非常的有效,能够获得好的排名,但是对于百度来说是致命的,不仅让你的博客收录少,而且收录的速度还很慢。没有禁用All in one seo插件前,一米八八的原创文章要好几天才会收录,但是自从禁用了之后,收录时间缩短到了2分钟。至于原因,很是复杂,这里就不做解释了,只管禁用就好。

2、增加百度Ping

百度Ping就是当您发表一篇新文章时,WordPress将会向百度站点发出通告,好让百度较快的来收录。百度的Ping地址是http://ping.baidu.com/ping/RPC2,增加的方法是,打开后台,在设置栏中的撰写项中,最下面的一行有个“更新服务”,按照上面的方法增加就可以了。

3、做好关键词、描述

每一个网页都会有关键词和描述,这是为了告知搜索引擎关于这篇文章主要是写什么的,是搜索优化的重要手段。在我们禁用All in one seo插件之后,就要手动在网页模板中增加网页关键词和描述。关键词直接调用文章的Tag即可,而描述也直接调用文章摘要即可。具体做法在这里就不列举了,直接搜索下即可。

4、首页设计成CMS

百度对博客的收录本来就不是很好,所以我们就要尽量的把博客伪装成CMS网站。百度判断一个网站是不是博客的主要依据是看其首页是不是有大量的文章摘要,除此之外,百度还会智能的检查下网站首页有没有其他的链接元素,比如图片链接,文字链接,网页排版等。知道这些之后,我们就要针对性的进行伪装。首先要启用WordPress博客程序自带的文章缩略图,并在首页文章列表中调用;其次要尽量丰富侧边栏,除了调用最新文章和留言之外,还可以调用随机文章、热门文章等,尽量按照CMS样式来丰富首页即可。

5、增加当前位置

所谓的当前位置就是指文章页面上方的导航,只要是方便用户知道文章所处的位置。当前位置的样式一般是:首页>>二级栏目>>三级栏目>>正文,有些人认为这是鸡肋,可有可无,但是对百度来说至关重要,因为它是百度判断这篇文章是博客文章还是网站文章的依据,因为所有的大网站在文章页上方都会有当前位置,于是百度就将其判断为网站所有的属性,因为一般网页都不会有当前位置项。

6、文章标题要唯一

搜索引擎都比较喜欢原创性的文章,所以大家在写文章的时候要尽量拟定一个独一无二的标题,这样对于百度来说,就有一半的机会判定此篇文章为原创文章。有些人认为标题很难拟定,尤其是对于那些学理科的同学来说,这里告诉大家一个方法,准备写文章时,先不要拟定标题,等吧文章写完之后,通览全文,找出几个关键词,然后再吧关键词串联起来,于是标题就拟出来了。拟定好之后,把标题放放到百度里面去搜索一下,看看有没有相同的,如果有就稍作改变即可。

7、文章内容要原创

博客是用来原创文章的,不是用来转载文章的,既然花了大力气建立独立博客,那就不妨再花点力气,尽量原创文章。这样不仅有利于搜索引擎,而且还可以培养一定的读者。大家有时候想要在网上解决一个关于wordpress博客程序的技术问题时,搜索一下,发现10篇文章中有9篇都是一样的,对于想要急于解决问题的我们来说,真的很鄙视那些转载者,浪费了我们查找的时间,而且还没有解决我们的为题。百度在收录的规则里面也着重强调了文章原创性的重要性,因此我们要尽量原创文章,不要随意转载,即使转载,除了要附上转载链接之外,也要在文章开头写上200字左右的介绍性文字,这样对于百度来说还是把它当作原创性文章来处理。

8、简洁的关键词

因为文章的关键词是搜索引擎的判断文章属性的依据,因此很多人为了使得文章有较好的排名,就在文章的关键词中加入大量的和本文无关的热门关键词,这对百度来说是致命的。百度对于文章关键词的控制是很严格的,在收录规则里面也强调了禁止堆放和文章无关的关键词。所以,我们在写文章的关键词时,最好只拟定2-3个和文章相关的关键词即可,如果文章属性单一,那就只写一个关键词。

9、增加文章内链

文章内链指的是给文章中的某些词汇加上和词汇相关的文章链接,这样做对提高网站的权重来说有至关重要的作用,而且还会增加文章被搜索的机会,更方便了读者。搜索引擎喜欢原创文章,更喜欢那些以读者为重、方便读者的行为,文章内链就是这样的做法。增加文章内链短期内不会有很好的效果,但是从长远来看,它会慢慢的增加文章的权重,让你的文章在搜索引擎中排名会越来越靠前的。

10、增加博客外链

无论是博客还是网站,外链都非常的重要,如果没有外链,博客或者网站在互联网中就会成为孤岛,如果外链比较多的话,不仅会引导搜索引擎的蜘蛛多次爬行你的网站,而且还会给你的网站带来更多的流量。如果外链的质量比较好,还会大大的增加你的博客的权重,这也是为什么大家都喜欢和权重比较高的博客或者网站交换链接的原因。但是不要因为一味的增加外链,就去投机取巧的发布大量的垃圾链接,这样会适得其反,严重的会导致搜索引擎的封杀。

以上的10种方法感谢一米八八的建议。前8种方法主要是针对博客和文章本身来进行优化的,后两种方法主要是为了提高网站的权重,以便博客文章在搜索引擎中获得较好的排名。如果你有更好的优化方法,不妨在下面留言,惠及更多的博主。

 

 

非插件实现wordpress文章浏览次数

最近一直在做自己的新站主题[已基本完成],中间会遇到调用最热或最新文章的问题,虽然一直使用的WP-PostViews的插件,而且插件也很不错,但是,在新站时候遇上难题了!因为我会建立一个按文章浏览数排列的最热文章页面,页面总共有一百篇文章,似乎很简单,只要调用WP-PostViews的插件就可以了。但是,我要把页面分成两列,每列50篇,且按浏览数量排列,这时候我纳闷了,如何控制这前50篇在第一个ul中,后50篇在另个ul中,而WP-PostViews的调用函数是直接输出文章标题的,感觉无法控制!
想了许久,无奈,只有自己想办法实现了!
首先,要显示最热文章排行,那么就得先实现文章浏览数显示,至于之后怎么做,待下回分析!
目前非插件实现方法代码如下:

以下代码放置functions.php中

 1 /* Postviews start */
 2 function getPostViews($postID){
 3     $count_key = 'post_views_count';
 4     $count = get_post_meta($postID, $count_key, true);
 5     if($count==''){
 6         delete_post_meta($postID, $count_key);
 7         add_post_meta($postID, $count_key, '0');
 8         return " 0 ";
 9     }
10     return $count;
11 }
12 function setPostViews($postID) {
13     $count_key = 'post_views_count';
14     $count = get_post_meta($postID, $count_key, true);
15     if($count==''){
16         $count = 0;
17         delete_post_meta($postID, $count_key);
18         add_post_meta($postID, $count_key, '0');
19     }else{
20        $count++;
21         update_post_meta($postID, $count_key, $count);
22     }
23 }
24 /* Postviews start end*/

然后在single.php中的 endwhile; endif; wp_reset_query(); 循环前添加

1 <?php setPostViews(get_the_ID());?>

最后就可在index.php、sidebar.php 或single.php 等你想显示的位置调用文章的浏览次数了

1 <?php echo getPostViews(get_the_ID()); ?> 次浏览