wordpress主题开发教程

WORDPRESS做为主流的博客程序,功能是非常的强大,但是对于国内建站小白来说,想有一个自己的主题模板,还是有一定的难度。以前也一直没有仔细的研究到底怎么做模板,现在也找不到自己喜欢的模板风格,所以决定今年开始来研究一下怎么自己做模板。

比如今天采用自带的样式,我竟然也做出来了一个与以往不一样的首页。现在做出来的样式虽然 和我想像有的一定差距,不过整体至少比原来熟悉了更多wordpress的相关功能,目前暂定就这个样子了,细节方面后期再慢慢完善。

目前我使用的是首页单页功能,目前这个宽度怎么调整还没需要再研究一下。具体的显示内容后期也要再根据实际需要再调整一下。

让wordpress访问变快的缓存插件

wordpress这套程序跟以前国内一套应用很广泛的cms《dedecms》很不一样,他是本质是纯动态的,原生的wordpress从不生成真正的静态html页面。

就算你用了伪静态使网站url看起来是静态html,但是他本质的运行机制还是全动态的跑php。

wordpress的插件市场也没有生成纯静态页面的好用的插件,大多数只有缓存插件。

基于这样的机制,想优化速度,安装好的缓存插件非常重要。

我们推荐使用:Autoptimize+W3 Total Cache 这2组合拳

W3 Total Cache的低阶应用的话,直接按软件设置就可以了。但是想要更快,更爽的速度体验的话,一定要配合服务器伪静态配置,做到直接的服务器级别重定向到缓存文件。这样可以避开wordpress天然的跑遍全站的php机制,极大幅度提升用户体验。

挂上这两兄弟的组合拳,模板又没什么大问题的话,网站谷歌速度评分基本上60分是没跑的了(不挂的话你试试,最多就20-30分,满分100分哦)

当然,wordpress网站插件调优其实远远不止利用上面2个插件做一下组合拳这么简单。我们真正优化wordpress网站的速度体验,用到的相关插件接近7-8个。这些都是经过大量项目网站测试对比试验得到的宝贵经验数据。远远不是打几句话能说清楚明白的。再加上每个网站本身的插件框架,功能实现并不一样,所以最靠谱的调优方案还是找专业人士调优。

WordPress显示“正在执行例行维护,请一分钟后回来”解决方

我们有时候使用WordPress在升级程序、主题、插件,在进入网站会显示正在执行例行维护,请一分钟后回来。如果升级顺利,升级成功后会恢复正常,如果升级失败在则会一直出现这几个字。目前有三种方法解决

方法一:使用FTP或其他软件登录网站空间,打开网站根目录,找到 .maintenance文件,然后删除文件。然后刷新网页,你就会发现恢复正常。

方法二:如果在网站根目录下没有发现 .maintenance文件,看看是不是隐藏了,这是需要使用SSH登录服务器查看,如果没有被隐藏,那么就新建一个空的txt文本,上传到服务器空间,重命名为.maintenance,你会发现这个文件不见了,这个时候重新刷新网站,你会发现正常。

方法三:如果以上两种方法还是不行,或者你想让它以后可以显示 .maintenance ,那就打开 /wp-admin/includes/class-wp-filesystem-direct.php找到以下代码:

function mkdir($path, $chmod = false, $chown = false, $chgrp = false) {// safe mode fails with a trailing slash under certain PHP versions.$path = untrailingslashit($path);if ( empty($path) )return false; if ( ! $chmod )$chmod = FS_CHMOD_DIR; if ( ! @mkdir($path) )return false;$this->chmod($path, $chmod);if ( $chown )$this->chown($path, $chown);if ( $chgrp )$this->chgrp($path, $chgrp);return true;}

改为

function mkdir($path, $chmod = false, $chown = false, $chgrp = false) { // safe mode fails with a trailing slash under certain PHP versions. if ( ! $chmod ) $chmod = $this->permission; if(ini_get(‘safe_mode’) && substr($path, -1) == ‘/’) { $path = substr($path, 0, -1); } if ( ! @mkdir($path) ) return false; $this->chmod($path, $chmod); if ( $chown ) $this->chown($path, $chown); if ( $chgrp ) $this->chgrp($path, $chgrp); return true;}