回头聊聊我用WordPress做企业网站的事。说是企业网站,其实就是一个小的企业展示网站。事情要从我爸开了一家自行车店开始说起,自从他开了自行车店,不但开始学着玩起了微信(因为要做微信营销),又想到了要找我帮他做个网站。考虑到业(bu)务(xiang)需(ma)求(fan),我决定采用WordPress二次开发。

大家都知道,WordPress是个很好的博客平台。我之前拿它写过博客,但因为实在太重,又不能很好地支持MarkDown,就把它抛弃了。但从知乎和其他一些地方可以了解到,用WordPress开发企业网站的大有人在。而且还有很多小网站用个国产CMS加一套模板,价钱能低到几百元。

打定主意后,我想先在本地装上热热身。于是我找到了我爱水煮鱼的这篇,装上了XAMPP。这种PHP套件确实比以前自己一个个安装方便了许多,但我很快发现,它实际隐藏了一些东西:我查找配置文件的时候,一部分在XAMPP目录下,一部分在apache目录下,还有一部分在app目录(放置一键安装的应用)下。好在WordPress不需要关心那些东西,能进后台,大部分事情都不用和文件系统打交道。

为了提升二次开发的效率,找一个好的企业主题十分有必要。这直接影响后面修改主题的程度。典型的企业展示网站,一般都有新闻、商品、导航条、主页滚动图片、关于等功能,这些很适合用WordPress实现:

  • 新闻和商品对应WordPress中分类目录的概念。每条新闻、每件商品就是目录下的文章。通常主页上也会有新闻或商品的部分文章,通常可以在主题的选项中指定它们之间的对应关系。

  • 商品下还可能有二级商品,如下图。实现商品的层次可以利用WordPress分类目录的父级目录属性。

  • 关于和其他单独的页面使用WordPress中的页面功能。

  • 不论是导航条,还是其他位置的自定义菜单,如底部菜单、友情链接,都是使用菜单来实现。在菜单中可以插入目录、页面和自定义的链接;可以通过拖动项目自定义顺序,还可以实现多级菜单。

  • 主页上通常有滚动的大图,可以设置一个分类目录对应主页的滚动图片,然后在该目录下的文章中设置焦点图片。

总之,实现的方便与否与主题有很大关系,主题如果有比较丰富的设置选项,可以节约很多修改主题的时间。如果想快速建站,可以考虑购买付费的企业主题。

当然,购买付费主题不在我的考虑范围内。于是我找到了一个免费的企业主题,开始修改主题的过程。我选择的主题是一款付费主题的免费版,其实只要动手能力强,实现付费版的功能也并非不可。

首先要了解WordPress主题的几个重要文件:

  • index.php 首页
  • single.php 文章
  • page.php 页面
  • category(-*).php 分类目录
  • header.php 页首
  • footer.php 页脚
  • sidebar.php 侧边栏
  • functions.php 自定义函数
  • style.css 样式

首页几乎必改,其他按需改即可。比如对文章、页面的设计不满意,可以找到相应部分修改。改主题如果不懂CSS会很耽误时间。

对于分类目录,通过建立category-分类名.php文件可以创建单独的模板。比如在我的网站上,商品的分类使用和新闻相同的分类模板就不如单独使用全图的模板。

部分对版权信息不满意的人,就需要修改footer.php。当然,一般情况下主题不会乖乖让你改掉这部分,可能在其他php文件或者js文件有对这部分的检测,还算好处理。

部分较常用的WordPress函数有:

  • 获取博客信息bloginfo。如:

    <?php bloginfo('name'); ?>	// 获取博客名称
  • 获取一个选项get_option。如:

    <?php echo get_option('home'); ?>	// 获取主页路径
  • 获得页首get_header或页脚get_footer。

  • 获得模板的一部分get_template_part。如:

    <?php get_template_part('index/left'); ?>	// 获得首页的一部分
  • the_*获得当前文章的信息。如:

    <a href="<?php the_permalink() ?>"  ><?php the_title(); ?></a>	// 建立一个指向这篇文章的超链接
  • 获得缩略图。has_post_thumbnail与the_post_thumbnail。

  • 获得分类get_category。

  • 获得一些文章get_posts。如:

    <?php $posts = get_posts( "category=('product')&numberposts=5" ); ?>	// 从商品目录下取5篇文章

在这部分可能要花很多时间,但这主要看个人要求了。

差不多了就可以部署了。PHP的主机遍地都是,物美价廉,就不必说了。(和Rails真是天壤之别。)一键装上WordPress之后,把主题扔到themes目录下就可以了。插件倒是可以说一下。

下面是部分我安装的插件:

  • Protected wp-login:你总不想轻易让别人进入你的后台吧?
  • Remove Google Fonts References:加速很明显。
  • 多说:替换掉了自带的评论。
  • BackWPup:定期备份,避免悲剧。
  • WOW Slider:图片展示,简单小巧。
  • 七牛镜像存储:这个拿出来单独说一下。

因为企业站一般图片较多,一来主机流量可能会用完;二来如果主机在海外,速度也会受限。这里用了七牛的镜像加速功能——所有的图片都会到七牛域名下获取,如果文件不在,七牛会自动到原网站获取文件。使用这个插件就可以方便地实现,像往常一样上传文件,图片会自动归到七牛域名下。此插件的缩略图功能也很强大,我的网站中的缩略图基本都是用的它。

东西说的差不多了,希望我的建站心得能帮助到一些朋友。最后附上自行车店的网址,大家批评指正。

老爹的自行车店:www.wulianzgl.com

WordPress企业建站心得的更多相关文章

  1. WordPress研究心得

    WordPress,当初之所以研究这个,目的是在于开发一个多租户系统应用.总的来说,WordPress给了我不少启发和影响.为此,我决定这个研究心得分享出去. 总的来说,这篇文章参考了很多朋友们的博客 ...

  2. wordpress博客搬家心得

    更改SSH的连接端口和登录账户 在SSH的配置文件,/etc/ssh/sshd_config中找到Port 22(一般情况下是22, 根据服务器提供商的设置而不同)更改为你自己希望的端口. 至于登录账 ...

  3. 什么是WordPress?

    (今天由于好友 肖知虎的 的需求 , 我开始了帮助小虎建站的需求, 就这样开始学习了Wordpress.  这些文章就是为了记录这些我在学习过程当中的心得,和记录下来的文字而已) 什么是WordPre ...

  4. WordPress版微信小程序3.2版发布

    WordPress版微信小程序(下称开源版)距离上次更新已经过去大半年了,在此期间,我开发新的专业版本-微慕小程序(下称微慕版),同时开源版的用户越来越多,截止到2018年11月26日,在github ...

  5. 利用 AWS Elastic Beanstalk 部署 Wordpress 环境

    1. 准备 wordpress 代码 从https://wordpress.org/download/ 将代码压缩包下载到本地, 解压,会有一个 wordpress 目录 复制 wp-config-s ...

  6. Notepad++使用心得和特色功能介绍 -> notepad/ultraedit的最好的替代品

    [详细]Notepad++使用心得和特色功能介绍 -> notepad/ultraedit的最好的替代品 最近在用Notepad++,发现的确是很不错的工具,具体特色,看了下面介绍就知道了. [ ...

  7. WordPress 3.8 中文正式版下载 - 建站与学习首选!全球最流行的开源PHP博客网站程序

    转载自:http://www.iplaysoft.com/wordpress.html 话说虽然我一直都在网站底部写着本站基于 WordPress 构建,但时常还是有人问我网站是用什么程序建的,还真有 ...

  8. 使用hexo+GitHub搭建个人博客的心得(含教程)

    Author Email Yaoyao Liu yaoyaoliu@msn.com 前言 对于广大CS专业的学生和码农,找一个地方写博客,记录一些编程.配置环境.阅读论文的心得体会是一个很常见的习惯. ...

  9. 我的MYSQL学习心得(一) 简单语法

    我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

随机推荐

  1. [CentOS7] at, bash, cron, anacron

    声明:本文主要总结自:鸟哥的Linux私房菜-第十五章.例行性工作排程(crontab),如有侵权,请通知博主 at => /var/spool/at /etc/at.allow, /etc/a ...

  2. return die exit 常用

    die()停止程序运行,输出内容exit是停止程序运行,不输出内容return是返回值die是遇到错误才停止exit是直接停止,并且不运行后续代码,exit()可以显示内容.return就是纯粹的返回 ...

  3. java模拟简易按键精灵

    很多小伙伴们都有过抢课的经历,有时候抢不到自己想上的课,只能盼望有人退选,可是很多时候别人退选了,但是很快又被别人抢走了,我们不可能时刻盯着电脑, 这时候如果有一个抢课的程序岂不是很棒.. 出于这个目 ...

  4. 2010辽宁省赛E(Bellman_Ford最短路,状态压缩DP【三进制】)

    #include<bits/stdc++.h>using namespace std;const int inf=0x3f3f3f3f;struct node{    int v,z,d, ...

  5. .txt文件转换到Excel

    背景    前几天,自己在实验室里做实验,我们的大偶像肖老师看见我了,把我宣到他的办公室,问我,这个怎么办.都是数字,两列数字,怎么排版到Excel上也显示两列数字.Oh My God! 这个我怎么知 ...

  6. 洛谷P3819 松江1843路

    P3819 松江1843路 题目描述 涞坊路是一条长L米的道路,道路上的坐标范围从0到L,路上有N座房子,第i座房子建在坐标为x[i]的地方,其中住了r[i]人. 松江1843路公交车要在这条路上建一 ...

  7. springBoot2.0 配置 mybatis+mybatisPlus+redis

    一.Idea新建springBoot项目 next到完成,然后修改使用自己的maven 等待下载包 二.pom.xml文件 <?xml version="1.0" encod ...

  8. Kipmi0 占用CPU 100%

    查看当前正在运行的进程发现kipmi0进程占用率达到100% kipmi -% of the CPUs, %/% comes when the machine is idle? A second is ...

  9. DHCP DHCPv6

    为了给网络客户机自动分配IP地址以及生成所需的配置参数,IETF分别给IPV4和IPV6网络定义了相关的协议标准,即DHCP(RFC2131)和DHCPV6(RFC3315),以及扩充的选项标准.本文 ...

  10. vuex和localStorage/sessionStorage 区别

    1.最重要的区别:vuex存储在内存,localstorage则以文件的方式存储在本地 2.应用场景:vuex用于组件之间的传值,(响应式的),localstorage则主要用于不同页面之间的传值(其 ...