存档

文章标签 ‘Wordpress’

WP更新手记

2008年3月22日 没有评论

自从选定了Wordpress做为博客平台以来,在数不清的细节上删添修补,为了打造出个性化的适合自己需求的博客系统,付出了很多的时间和心血。在此,做个简单的更新手记,也好对我这个Wordpress的过往和将来有个总结。

1. Wordpress主题和模板文件的修改;
对Olive主题模板进行CSS和原始图片PS的大修改,以适合自己的喜好和风格;

2. 实现首页, Search, Archives等页面的摘要显示;
虽然WP自带了摘要函数,但还是导入了wp-CJK-excerpt.php插件.

3. 不喜欢Wordpress的默认评论风格,个人觉得很不合理,做了大手术;
修改后效果为:
评论只需留名,不需Email;
所有提示界面的中文化;
输入校验的错误提示采用弹出框的方式;
为抵制和过滤垃圾留言,加入数字答题和输入字数限制.

4. 实现在不同的页面,显示不同的sidebar和widgets;
一来减少内容的重复以利于搜索收录;二来也可提高来者的访问体验.

5. 加入热文排行的widget;
早就知道postview plus插件的强大可以轻松输出浏览次数最多的文章,不过因为想在侧边栏输出该项目,所以还必须通过打包成widget来实现。所谓变相地让widget支持PHP的方法,也就是把你要添加的PHP也做成widget,然后随意地拖拽吧。

6. 在single page的底部,加入相关文章;
这个简单,在 管理 - Simple Tags中设置一下就可以。

7. 解决了站点导航和热评文章里,最后一篇文章的标题前面不显示小图标的问题;
站点导航:因为我是用的text widget来实现,所以要保持CSS与其它widget风格一致,需修改includes文件夹下的widgets.php,找到function wp_widget_text函数,把<?php echo $text; ?>两边的div定义删除并首尾替换为<ul><li>和</ul></li>即可.
热评文章:修改mulberrykit.php(中文WordPress工具箱),echo后的语句去掉<br />,加上<li></li>,对上CSS的定义就OK了.

8. Blog优化,如meta, robots, sitemap, url等;
这里的改动也是大手笔,每个细节都花了我不少时间。具体修改,请参见相关文章。

9. 导入WordPress 高亮显示代码的插件;
CoolCode,插件原修改自 Chroder.com 的 WordPress Code Highlight 插件,但 CoolCode 插件在它基础上修改了很多的内容,更好用。

10. 解决了后台进入速度慢的问题,缓解了进入撰写页面格外慢的状况;
后台速度慢的原因是,每次进入后台wp 都会利用 Magpierss 取三个 feeds 并汇聚成 dashboard 上的新闻。而那些网站在国内很难打开,所以导致需要等很长时间。找到 /wp-admin/index-extra.php 文件,注释掉4行有$rss = @fetch_rss的语句,速度就快很多了,但除了撰写页面。
撰写页面慢的缓解方法:修改个人设置:用户=>取消使用超文本编辑器撰写
目前还没找到根治进入撰写就速度慢的问题。

11. 将WordPress升级至2.7版本;
此次重大升级,WP后台功能强大了不少,升级同时也带来一些新旧插件的兼容问题。

12. 禁用或删除"Google XML Sitemap"插件;
因为它会导致用Windows Live Writer发布日志时出现服务器响应错误。禁用或删除后,则无事。

13. 禁用或删除"Most Viewed Widget"插件;
原因同上。但是这次,上面的Google XML Sitemap更新后,可以启用了,相安无事。

14. 首页摘要加入图片显示;
否则,只有文字的摘要,显得太乏味了。

15. 页面和文章用不同的布局显示;
实际上就是自定义page.php并让其调用另一个自定义的CSS。因为文章的模板很窄,不能发超过500宽度的图片或视频,所以修改了下,今后要发大图大视频,就可以放到页面中去发布了。

待续 ...

待添加的功能:
1. 评论增加引用功能和简单表情;
2. 投票插件WP-Polls在本站有问题,点了投票后不能显示投票结果,后台看发现投票没生效。

期望达人指导和推荐一下!

VN:F [1.6.1_878]
请您给此文打分:
Rating: 5.0/5 (1 vote cast)
VN:F [1.6.1_878]
Rating: +2 (from 2 votes)

WordPress的侧边栏优化 - 增加多个widget

2008年3月7日 5 条评论

WordPress侧边栏Sidebar的优化

为了避免内容过多的重复或类似,我们需求不同的页面可显示不同的侧边栏。这样既有利于访问者的浏览体验,也有利于搜索引擎的收录,避开因为内容过于类似而排除收录的危险。

>>本文为WoodsWeb原创,如需转载,请申明出处及链接。

关于WordPress侧边栏的优化改造,网上文章可搜出一箩筐,但很多都写得过于复杂了,而且重点部分却没了后续。这里以www.woodsweb.cn为例,呈现一下几个主要程序的修改方法。

1. 注册多个侧边栏Sidebar

你需要网站的侧边栏有几种不同的呈现方式就注册几个,一般3个就足够了,首页Home/日志页Single/存档页Archive, 还有其他的比如搜索页,标签页等可以套用Single或是Archive的侧边栏风格,没必要全部都是独立风格。

修改文件:主题文件夹下的"functions.php"

<?php
if ( function_exists('register_sidebar') )
    
{
    
register_sidebar(array('name'=>'Left Sidebar Home'));
    
register_sidebar(array('name'=>'Left Sidebar Single'));
    
register_sidebar(array('name'=>'Left Sidebar Archive'));
    
    
register_sidebar(array('name'=>'Right Sidebar Home'));
    
register_sidebar(array('name'=>'Right Sidebar Single'));
    
register_sidebar(array('name'=>'Right Sidebar Archive'));   
    
}
?>

只需要如上写functions.php就可以注册左右各3个侧边栏了,如果是两栏的或三栏以上的,同理。

2. 控制不同侧边栏在不同页面上呈现
修改文件:主题文件夹下的sidebar.php

<ul class="leftList">
    
<?php if ( function_exists('dynamic_sidebar') )
    
{
      
if (is_home() && dynamic_sidebar('Left Sidebar Home'));
      
elseif (is_single() && dynamic_sidebar('Left Sidebar Single'));
      
elseif ((is_archive() || is_search()) && dynamic_sidebar('Left Sidebar Archive'));
      
else dynamic_sidebar();
    
}
            
?>
     </ul>

其中,Left Sidebar Home,Left Sidebar Single,Left Sidebar Archive 分别是对应你在functions.php中注册的3个左侧边栏的名称。以上是左侧边栏的判断调用,找到对应代码如上修改便可。右侧边栏部分同理。

--------------------------------------
很多文章大多也提到了前面两步,只是可能比较繁杂而已。但接下来,当你进入后台Widgets管理界面时,是不是发现一个严重问题?Widget数量不够,一个widget只能用在一个sidebar上,如果三个左侧边栏上都想放上"最新文章"的widget,该怎么办呢?Wordpress默认只有标签云,分类,文本和RSS这四个widget可以增加数量(有下拉列表可以选择),那其他的众多widget怎么办呢?

3. 增加你喜爱的widget的数量

Woodsweb.cn提供给您一个简单的注册多个相同功能widgets的方法!

修改文件:/wp-includes/widgets.php
在接近末尾的1130行左右,找到如下语句:

wp_register_sidebar_widget('pages', __('Pages'), 'wp_widget_pages', $class);
wp_register_widget_control('pages', __('Pages'), 'wp_widget_pages_control', $dims150);

将其修改为如下形式:

wp_register_sidebar_widget('pages', __('Pages'), 'wp_widget_pages', $class);
//注册多个相同功能的widgets
wp_register_sidebar_widget('pages02', __('Pages'), 'wp_widget_pages', $class);
wp_register_sidebar_widget('pages03', __('Pages'), 'wp_widget_pages', $class);
wp_register_widget_control('pages', __('Pages'), 'wp_widget_pages_control', $dims150);

其中,pages02,pages03就是新注册的2个相同功能的"页面"widget,如果想注册更多,那就再往后添加便是。当然,名称可由您喜好自定义。

如果想增加其他widget的数量,方法同上,如:

$class['classname'] = 'widget_archives';
wp_register_sidebar_widget('archives', __('Archives'), 'wp_widget_archives', $class);
//注册多个相同功能的'存档'widgets
wp_register_sidebar_widget('archives02', __('Archives'), 'wp_widget_archives', $class);
wp_register_sidebar_widget('archives03', __('Archives'), 'wp_widget_archives', $class);
wp_register_widget_control('archives', __('Archives'), 'wp_widget_archives_control', $dims100);

有的widget可能并非来自/wp-includes/widgets.php文件,也有很多人把自己喜欢的功能整合成插件,通过widget的方式来调用,这也是所谓的让widget变相地支持PHP的方法。比如,最新文章,随机文章,最新评论等这些中文Wordpress工具箱里包含的功能,有人直接打包成widget并做成了插件的方式,如mulberrykit_widget,你可以在插件目录找到并修改mulberrykit_widget.php文件的部分内容如下:

register_sidebar_widget('Most_Comments', 'most_comments_widget');
//注册多个相同功能的Most_Comments Widgets
register_sidebar_widget('Most_Comments_02', 'most_comments_widget');
register_sidebar_widget('Most_Comments_03', 'most_comments_widget');
register_widget_control('Most_Comments', 'most_comments_widget_control', 350, 200);

其他功能的widgets需要注册多个的话,方法同上。

这样,当你再度进入Widgets管理界面时,是不是发现widget多到你的脸都笑花了?随心所欲地拖曳吧!什么页面要什么样的WordPress侧边栏,从此完全自定义。

-------------------------------------------------------------------------
woodsweb.cn 版权所有,如需转载,请声明出处并加原文链接,否则违者必究!

VN:F [1.6.1_878]
请您给此文打分:
Rating: 2.8/5 (3 votes cast)
VN:F [1.6.1_878]
Rating: +1 (from 1 vote)

WordPress的优化 - 头部篇

2008年3月5日 1 条评论

任何网站都需要做优化,目的是让访问者和搜索引擎更好更方便地浏览你的内容,狭义点讲,就是人们常说的SEO:搜索引擎优化。而其实,专门针对搜索引擎而做的优化,并不叫真正的SEO,深刻理解SEO的人会在做优化的时候忘了什么是SEO,并把优化的重点放在内容和人,而不是搜索引擎上。只有这种时候,所谓的优化才可以和SEO划上等号。WordPress是广泛被世人采用的PHP开源博客系统,woodsweb.cn就建立在这个平台上,对于它的优化也遇到了不少麻烦,特此做个详尽的总结,希望对有同样需求的朋友能有所帮助。

模板头部的优化
这里我所说的头部,并不是指代码里的head部分,而是打开网页后最先映入眼帘的视觉上的网站头部。如果你的网站或博客不是以图片展示为主,首先请保持头部图片的高度最好不要大于宽度的五分之一;其次,头部图片最好加上链接链至首页,对于没有Home菜单的主题更是如此。

很多主题的样式表里,head部分都是定义的背景图片,如何给它加上链接呢?
在style.css里,定义一个新的链接样式,比如:

a.headlink {
 
display:block; 定义链接类型为块元素
 
width:930px; 设为头部图片的宽度
 
height:150px; 设为头部图片的高度
}

然后在header.php的<div class="head">后面,加上一个空内容的链接
<a href="首页链接" mce_href="首页链接" class="headlink"></a> 就行了。

另外一种办法,就是在style.css里删除head部分背景图片的定义,直接在header.php(有的是head.php)的<div class="head">后面插入:<img src="<?php bloginfo('template_directory'); ?>/images/头部图片文件名> 也可以。

每个页面都有指向首页的链接,不仅是搜索引擎优化的需要,也让访问者随时能方便地返回网站首页增添便利。其实除了头部图片可以加上首页链接外,也可以选择在侧边栏新建一个Text Widget取名"返回首页",在里面写好首页的链接,然后拖放到显眼的位置便可。效果见WoodsWeb.cn

采用这种方法必须有个前提,就是不同页面能显示不同的侧边栏,因为合理的说,在网站首页上并不需要出现"返回首页"这样的链接,而其他页面才需要。这也是我下一篇所要讲述的内容:WordPress侧边栏的优化

--------------------------------------------------
woodsweb.cn 版权所有,如需转载,请声明出处并加原文链接,否则违者必究!

VN:F [1.6.1_878]
请您给此文打分:
Rating: 0.0/5 (0 votes cast)
VN:F [1.6.1_878]
Rating: +1 (from 1 vote)