简单把Wordpress打造成CMS

2016-02-22    编辑:drise     点击(

把 WordPress 作为 CMS 来使用在2.1版本变得更加容易,只需5个简单的步骤并且不需去修改复杂的代码就能实现。

创建一个页面并命名为 home 作为开始页面,并给其 page order(页面顺序)为0。
创建一个空的页面并命名为 weblog 并给其 page order(页面顺序) 为99。
在管理界面,选择 option(选项) > reading(阅读),将上面创建的 home 作为 front page(开始页) 和 weblog 作为 posts page(文章列表页面)。
通过这个函数 wp_list_pages(’sort_column=menu_order&title_li=’) 创建网站菜单。
使用一个插件使得页面也能够被搜索(可选)。
可以选用 Search Everything 这个插件(译者著)。
当为你的 CMS 创建页面的时候,确定页面顺序必须在0和99之间。这样的话,菜单中的第一个就是home,最后的是 weblog,当然你可以根据你自己的需求更改。
个人觉的他把 WordPress as CMS 说的比较清晰明了,大家可以根据他的提供的简单步骤进行扩展。

然而,实际上,完全按照引文中所提及步骤不一定能成功地将把 Wordpress 打造成 CMS。就我的情况而言,最终结果是导航栏中有两个Home链接,一个Blog链接,而且这三个链接均指向Blog页面。查看theme的header.php文件后发现导航栏用如下代码判断当前页面导致的:


以下为引用的内容:
<li class="<?php if ( is_home() or is_archive() or is_single() or is_paged() or is_search() or (function_exists('is_tag') and is_tag()) ) { ?>current_page_item<?php } else { ?>page_item<?php } ?>"><a href="<?php echo get_settings('home'); ?>"><?php _e('Home'); ?></a></li>


实际上,如果你用的WordPress是2.0.1以上版本,wp_list_pages()函数已有为链接添加current_page_item这个id的功能。因此,两者共存是就会在导航菜单中产生重复链接。如果你用的主题中使用了上述代码,可考虑用wp_list_pages()替换。若是两者均被使用,可考虑删去前者。

另外,关于首页仍为Blog的问题,需要在home.php添加转址代码的方式解决。

以下为引用的内容:

$homepage = get_option(’siteurl’).”/home/”;
global $wp; $wp_received_argument = false;
foreach ($wp->query_vars as $k=>$v) if ($v) $wp_received_argument = true;


if ($wp_received_argument) require(TEMPLATEPATH . “/index.php”);
else {
wp_redirect($homepage);
exit();
}


 

 


请自行在我所引用的代码前后加上php代码的起始和终止tag
将上述代码置于你当前使用主题目录下的home.php中。当前主题目录即指wp-content/themes/你当前使用主题。如果你的主题已有一home.php,请于备份后覆盖之。

 

现在,当用户和搜索引擎访问你的博客的首页时,他们将会被带到变量$homepage所代表的URL。此URL可指向任何页面。在代码实例中为http://yoursite.com/home/。你可如己所好地改变这个地址。

 

对博客读者而言,博客仍然可通过导航菜单访问。不过,对Dark主题而言,照着5步做了以后,最终结果是导航菜单中的Blog无法被标记为当前页面项目。也就没有那个绿色标记以告诉读者,当前页面是导航菜单中的哪一项了。