你看到这篇文章的时候,就知道本站是用wordpress完成的了,一直以来,我都是自己在写适合自己的CMS,我一直都认为自己写的CMS会比开源的那些快,因为我用了相应的缓存技术:其中包括了全静态的、samrty模板的、利用PEAR做缓存的等等。到了后来,人也比较懒了,就直接去sourceforge或者google寻找了。
寻找到了mambo、drupal、xoops、织梦CMS,还有些国内的CMS,可能是由于对国内的软件有偏见,一直到现在都没有用过国内的CMS。使用的mambo也在后来转向了joomla。
mambo或者joomla我发现有点复杂,虽然说他们的口号是power in simplicity,由于本人不喜欢看手册,而且mambo后台的那些菜单分类模块之间的关系我实在不想去理清,所以看了一下,完了几天就放弃了。不过说实在话,mambo的后台是我目前见到的CMS最漂亮了,而且它每个部分可以自定义模板,这个很不错,当初几乎就选定它了。
xoops太死板,整个网页都是一块一块的,没有办法美化,放弃之。
drupal功能强大,使用的网站相当多,包括一些比较大的网站都在使用。不过我装上之后研究了一个小时,发现drupal太活了,功能太多,我不需要那么复杂,而且用了两个小时都还没有理清关系+别人说drupal速度没有wp快,太打击积极性了,放弃之。
现在该说到wordpress,其实我也是在两个月以前才开始接触到wordpress的。装上之后,最初我用来做一个blog,发现还不错,后台的一切都是基于post来的,其实网页不就是很多post的么?而且看看分类比较清楚明了,基本就选定他了。 后来就开始研究他的模板结构,刚开始也无法下手。然后看了这张图片之后(参考:http://www.storyday.com/web-tech/260/wordpress-theme-tips)就非常清晰明了了,开始琢磨着把wp做成一个简单的CMS。
wordpress实现本站的cms的思想是这样的,现建立几个大分类(如本站的 生活工作 | Life&Work、 英语|English、 Web技术|WEB Tech),做为各个板块的分类。然后再个分类下建立子分类(如生活工作下的:生活理财|Financing、生活琐事|Life),做为该大分类频道下的分类 。然后在页面头部就把这个分类读出来做为菜单。
要为不同的频道做不同的界面也很简单(本站尚未这样做)。比如生活工作的id是5,那么就对应建立一个模板,名字为:category5.php,所以你有多少分类就可以有多少模板,相对灵活把?
可能你要问,首页的那些怎么获取的,简单啊,把你需要的类别下的文件用wordpress的template tag读出来放在你index.php模板中不就实现了么?呵呵。源代码如下: < ?php $posts = get_posts( "category=3&numberposts=12" ); ?> < ?php endforeach; ?> < ?php endif; ?> < ?php $posts = get_posts( "category=14&numberposts=8" ); ?> < ?php endforeach; ?> < ?php endif; ?> ?> ".get_post_meta( $post_id_array3[$tmp], 'image', true).""; ?>
< ?php if( $posts ) : ?>< ?php foreach( $posts as $post ) : setup_postdata( $post ); ?>
< ?php echo utf_substr(the_title('','',false),40) ?>
< ?php if( $posts ) : ;?>< ?php foreach( $posts as $post ) : setup_postdata( $post );
$post_id_array3[] = $post->ID;$perlink3[] = get_permalink($post->ID); ?>
title="Permanent Link to < ?php the_title(); ?>">
< ?php echo utf_substr(the_title('','',false),40) ?>
< ?php
//loop for get meta
$tmp = 0;
$imgfield_index = 0;
while( $post_id_array3[$tmp] != "" ){
$meta_tmp = get_post_meta( $post_id_array3[$tmp], 'image', true) ;
if( "" == $meta_tmp ){ $tmp++ ;continue;}
else{
$dis_icon[$imgfield_index] = "".get_post_meta( $post_id_array3[$tmp], 'image', true)."";
$imgfield_index ++ ;
$tmp++;
if ( $imgfield_index > 2) break;
}
}
$imgfield_index ++ ;
$tmp++;
if ( $imgfield_index > 2) break;
}
}
首页的那些图片是怎么实现的呢??你知道wordpress有个自定义域么?对了,就是它,添文章的时候,如果文章有相关图片,写在域中,然后在首页取文章标题的同时把域中的图片路径取出来存在数组中,最后显示出来就是。代码参考上面代码的后面一段,如何增加自定义域请参见下图:
还有些你想订制的东西如何处理呢?建立里一个页面,设为private,然后在自定义域里面添加你需要的东西,在页面中引用就可以了,今后还可以随时修改。
wordpress还有一个好处就是模板实现简单,插件编写容易,以前我以为插件好高深,后来到wp的官方网站看了一下教程,马上就可以开始干活了,简单吧,你不妨也试试??
好了就写这么多。本文主要写wordpress,上面提及到的cms都很优秀,各有各的长处吧。
本文旨在抛砖引玉,各位wordpress爱好者发挥你的想象吧,你可以用wordpress做很多事情的。
本文永久地址:http://www.storyday.com/web-tech/427/why-i-use-wordpress-as-cms