• 技术文章 >php教程 >PHP开发

    简单把Wordpress打造成CMS

    黄舟黄舟2016-12-14 16:16:41原创664
    把 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无法被标记为当前页面项目。也就没有那个绿色标记以告诉读者,当前页面是导航菜单中的哪一项了。

    更多相关文章请关注PHP中文网(m.sbmmt.com)!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:Wordpress,CMS
    上一篇:详解SQL中的触发器 下一篇:从SEO视角判断CMS系统的好坏
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• Flex DataGrid自动编号示例• linux awk命令详解• php设计模式导言• WebService的简介, 原理, 使用• Zend Framework教程之路由功能Zend_Controller_Router详解
    1/1

    PHP中文网