首页 > 新闻资讯 > 将WordPress打造成内容管理系统(CMS)

将WordPress打造成内容管理系统(CMS)

14条评论
标签:
更多

随着WordPress3.0的推出,WordPress向内容管理系统又迈进一步,究竟如何理解这点并有效地将WordPress作为内容管理系统来使用?这篇文章将给大家解答下这个问题。

理解文章(Post)和页面(Page)

这一点是最为关键的,只有分清这二者你才可以轻松地建立更加复杂的网站。文章(Post)是指博客文章,页面(Page)是用于存放“静态内容”,注意,这里是加了引号,因为在WordPress上,页面并不意味着说就不能是动态的,你可以创建“静态”页面然后动态地获取你的内容,这就是WordPress作为CMS的出色所在。

实际上,Post是博客文章,而page就可以是任何东西。

创建动态性的“静态”页面

WordPress页面支持页面模板,所谓页面模板实际上是适用于所有页面特别设计的模板。你可以使用自定义字段 来获取你需要的特定信息将‘静态’页面 ‘动态化’

创建一个自定义页面也非常简单: 只需在文件的顶部添加下面的代码

<?php /*页面模板: 名称 */ ?>

当你将文件上传到主题文件夹之后,页面模板马上就出现。在页面编辑器的页面你就会看到页面模板,默认情况下是在右边。选择该页面模板并保存之后你的页面就会立刻呈现特定页面模板的样子跟其他没有设置页面模板的页面不同。

前面提到,你的页面可以拥有动态内容,即任何可以在普通模板文件上运行的内容。通过自定义查询你可以抓取你的内容。首先是自定义循环:

<?php

$customQuery = new WP_Query();

$customQuery->query('posts_per_page=5');

?>

<?php while ($customQuery->have_posts()) : $customQuery->the_post(); ?> <!– Do query stuff here –> <?php endwhile; ?>

<!– Do query stuff here –>

<?php endwhile; ?>

以上仅是一个获取五篇最新文章的简单循环,但是你还可以使用任何参数,发挥循环的力量,通过将posts_per_page=5替换为 meta_key=show-on-page便可使用自定义字段“show-on-page” 。

现实生活中的应用

假设有一个网店,希望店员能够给页面添加最新的商品。每个商品就看成是一篇文章(Post),并添加一行文本简单描述该商品。我们已经创建了 一个自定义meta盒,这样给Post添加自定义字段就非常容易,自定义字段里包含了最新的商品信息。

这里通过使用自定义页面模板、自定义循环和自定义字段来显示最新商品区,另外,如果没有设置任何商品的话将显示“Sorry! No offers on at the moment, check back later!”。下面就是所有的代码(当然要把这些代码添加到自定义页面模板里):

<?php

$customQuery = new WP_Query();

$customQuery->query('meta_key=show-on-page');

?>

<?php while ($customQuery->have_posts()) : $customQuery->the_post(); ?> <?php $offer = get_post_meta($post->ID, 'show-on-page', true);

if ($offer) {

?>

<p class="offer"><?php echo $offer; ?></p>

<?php } else { ?>

<p id="no-offer">Sorry! No offers on at the moment, check back later!</p>

<?php } ?>

<?php endwhile; ?>

就是这么简单,希望这篇文章能让你将WordPress打造成完美的内容管理系统有所启发。

原文

* 版权声明:作者WordPress啦! 转载请注明出处。

#1
偶想到了 MediaWiki 的 {{}}
#2
wow,学习下。
#3
wow,学习下。
#4
不错
#5
很不错 期待WordPress能出好的内容管理系统
#6
非常棒哦!谢谢分享,学习了!
#7
想法不错,实现起来难度不大吧。
#8
我自己的公司网站也是用wordpress做的
#9
WP本来就是这么强大 哈哈
#10
我比较看重wp的优化,做的相当不错!做CMS站企业门户站相当好!
#11
博主,继续努力哦!
#12
我的网站都是用这个的,太棒了。
#13
我也在用。。。。。。。。。。。。。。。。
#14
正在使用CMS的主题呢~